Class: Wiktionary::Noun

Inherits:
Object
  • Object
show all
Defined in:
lib/wiktionary/noun.rb

Constant Summary collapse

FILES =
%w[
  noun
  noun_uncountable
  noun_usually_uncountable
  noun_countable_and_uncountable
  noun_non_attested
  noun_unknown
  noun_pluralia_tantum
  noun_proper
]
PLURALS =
%w[noun
  noun_usually_uncountable
  noun_countable_and_uncountable
]
UNCOUNTABLE =
'noun_uncountable'
PLURALIA_TANTUM =
'noun_pluralia_tantum'

Instance Method Summary collapse

Constructor Details

#initialize(path = File.join(File.dirname(__FILE__),'..','..','data/')) ⇒ Noun

Argument path locates directory with CSV files form Wiktionary

Parameters:

  • path (String) (defaults to: File.join(File.dirname(__FILE__),'..','..','data/'))


24
25
26
27
28
# File 'lib/wiktionary/noun.rb', line 24

def initialize(path=File.join(File.dirname(__FILE__),'..','..','data/'))
  @plural_to_singulars = Hash.new{|h,e| h[e] = [] }
  @singular_to_plurals = Hash.new{|h,e| h[e] = [] }
  load_files(path)
end

Instance Method Details

#plural?(noun) ⇒ Boolean

Indicate if noun is in plural form.

Returns:

  • (Boolean)


36
37
38
# File 'lib/wiktionary/noun.rb', line 36

def plural?(noun)
  @plural_to_singulars.has_key?(noun)
end

#singular?(noun) ⇒ Boolean

Indicate if noun is in singular form (or uncountable).

Returns:

  • (Boolean)


31
32
33
# File 'lib/wiktionary/noun.rb', line 31

def singular?(noun)
  @singular_to_plurals.has_key?(noun)
end

#singularize(noun) ⇒ Object

Returns list of possible singular forms of noun.



41
42
43
# File 'lib/wiktionary/noun.rb', line 41

def singularize(noun)
  @plural_to_singulars[noun]
end