class Zenlish::WClasses::CommonNoun
Common nouns refer to general entities. Most have a singular and plural form.
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/zenlish/wclasses/common_noun.rb, line 10 def initialize super @paradigms = {} init_paradigms end
Public Instance Methods
paradigm()
click to toggle source
@return [Inflection::InflectionTable] Return default paradigm
# File lib/zenlish/wclasses/common_noun.rb, line 17 def paradigm paradigm_feat_def = self['PARADIGM'] paradigms[paradigm_feat_def.default.val] end
Private Instance Methods
add_paradigm(anInflectionTable)
click to toggle source
# File lib/zenlish/wclasses/common_noun.rb, line 51 def add_paradigm(anInflectionTable) @paradigms[anInflectionTable.name] = anInflectionTable end
init_paradigms()
click to toggle source
# File lib/zenlish/wclasses/common_noun.rb, line 24 def init_paradigms builder = Inflect::InflectionTableBuilder.new table = builder.build('Common_form') do feature_heading 'NUMBER' method_heading 'base_form' rule([equals(:singular), dont_care], col('base_form')) rule([equals(:plural), matches(/[^aeiouy]y$/)], sub(col('base_form'), /y$/, 'ies')) rule([equals(:plural), dont_care], concat(col('base_form'), 's')) end add_paradigm(table) table = builder.build('Plural_only') do feature_heading 'NUMBER' method_heading 'base_form' rule([equals(:plural), dont_care], col('base_form')) end add_paradigm(table) table = builder.build('Singular_only') do feature_heading 'NUMBER' method_heading 'base_form' rule([equals(:singular), dont_care], col('base_form')) end add_paradigm(table) end