Class: Linguistics::Latin::Verb::LatinVerb::LatinVerbClassifier

Inherits:
Object
  • Object
show all
Defined in:
lib/latinverb/components/classifier.rb,
lib/latinverb/components/classifier/strategies/verb_classification_strategy.rb,
lib/latinverb/components/classifier/strategies/regular_verb_classification_strategy.rb,
lib/latinverb/components/classifier/strategies/deponent_verb_classification_strategy.rb,
lib/latinverb/components/classifier/strategies/defective_verb_classification_strategy.rb,
lib/latinverb/components/classifier/strategies/irregular_verb_classification_strategy.rb,
lib/latinverb/components/classifier/strategies/impersonal_verb_classification_strategy.rb,
lib/latinverb/components/classifier/strategies/present_only_verb_classification_strategy.rb,
lib/latinverb/components/classifier/strategies/semideponent_verb_classification_strategy.rb,
lib/latinverb/components/classifier/strategies/very_irregular_verb_classification_strategy.rb

Defined Under Namespace

Classes: DefectiveVerbClassificationStrategy, DeponentVerbClassificationStrategy, ImpersonalVerbClassificationStrategy, IrregularVerbClassificationStrategy, PresentonlyVerbClassificationStrategy, RegularVerbClassificationStrategy, SemideponentVerbClassificationStrategy, VerbClassificationStrategy, VeryIrregularVerbClassificationStrategy

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(input, opts = {}) ⇒ LatinVerbClassifier

Returns a new instance of LatinVerbClassifier.



18
19
20
21
# File 'lib/latinverb/components/classifier.rb', line 18

def initialize(input, opts={})
  @input = input
  @strategies = opts[:strategies] || default_strategies
end

Instance Attribute Details

#classificationObject (readonly)

Returns the value of attribute classification.



16
17
18
# File 'lib/latinverb/components/classifier.rb', line 16

def classification
  @classification
end

#inputObject (readonly)

Returns the value of attribute input.



16
17
18
# File 'lib/latinverb/components/classifier.rb', line 16

def input
  @input
end

Instance Method Details

#deponent?Boolean

Returns:

  • (Boolean)


34
35
36
# File 'lib/latinverb/components/classifier.rb', line 34

def deponent?
  classification == Linguistics::Latin::Verb::Classification::Deponent
end

#impersonal?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/latinverb/components/classifier.rb', line 42

def impersonal?
  classification == Linguistics::Latin::Verb::Classification::Impersonal
end

#irregular?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/latinverb/components/classifier.rb', line 46

def irregular?
  classification == Linguistics::Latin::Verb::Classification::Irregular
end

#present_only?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/latinverb/components/classifier.rb', line 30

def present_only?
  classification == Linguistics::Latin::Verb::Classification::PresentOnly
end

#regular?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/latinverb/components/classifier.rb', line 50

def regular?
  classification == Linguistics::Latin::Verb::Classification::Regular
end

#semideponent?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/latinverb/components/classifier.rb', line 38

def semideponent?
  classification == Linguistics::Latin::Verb::Classification::Semideponent
end

#short_classObject



54
55
56
# File 'lib/latinverb/components/classifier.rb', line 54

def short_class
  classification.to_s.gsub(/.*::(\w+)$/,"\\1")
end