class Linguistics::Latin::Verb::LatinVerb::StemDeriver
Constants
- FIRST_CONJUGATION_IDENTIFYING_SUFFIX
- FOURTH_CONJUGATION_IDENTIFYING_SUFFIX
- SECOND_CONJUGATION_IDENTIFYING_SUFFIX
- THIRDIO_CONJUGATION_IDENTIFYING_SUFFIX_ACTIVE_INDICATIVE_PRESENT_FIRST_SINGULAR
- THIRDIO_STEM_PARTICLE
- THIRD_CONJUGATION_IDENTIFYING_SUFFIX
- THIRD_STEM_PARTICLE
Public Class Methods
new(verb, opts = {})
click to toggle source
# File lib/latinverb_stem_deriver.rb, line 17 def initialize(verb, opts = {}) @verb = verb @opts = opts end
Public Instance Methods
participial_stem()
click to toggle source
# File lib/latinverb_stem_deriver.rb, line 30 def participial_stem return $1 if present_active_infinitive.to_s =~ FIRST_CONJUGATION_IDENTIFYING_SUFFIX return $1 if present_active_infinitive.to_s =~ SECOND_CONJUGATION_IDENTIFYING_SUFFIX return $1 + calculate_particle($1) if present_active_infinitive.to_s =~ THIRD_CONJUGATION_IDENTIFYING_SUFFIX return $1 + THIRDIO_STEM_PARTICLE if present_active_infinitive.to_s =~ FOURTH_CONJUGATION_IDENTIFYING_SUFFIX end
stem()
click to toggle source
# File lib/latinverb_stem_deriver.rb, line 22 def stem return calculate_deponent_proxy_stem unless verb_is_regular? return $1 if present_active_infinitive =~ FIRST_CONJUGATION_IDENTIFYING_SUFFIX return $1 if present_active_infinitive =~ SECOND_CONJUGATION_IDENTIFYING_SUFFIX return $1 if present_active_infinitive =~ THIRD_CONJUGATION_IDENTIFYING_SUFFIX return $1 if present_active_infinitive =~ FOURTH_CONJUGATION_IDENTIFYING_SUFFIX end
Private Instance Methods
calculate_deponent_proxy_stem()
click to toggle source
# File lib/latinverb_stem_deriver.rb, line 43 def calculate_deponent_proxy_stem proxy_string.split(/\s+/)[1] end
calculate_particle(portion)
click to toggle source
# File lib/latinverb_stem_deriver.rb, line 68 def calculate_particle(portion) first_person_singular =~ THIRDIO_CONJUGATION_IDENTIFYING_SUFFIX_ACTIVE_INDICATIVE_PRESENT_FIRST_SINGULAR ? THIRDIO_STEM_PARTICLE : THIRD_STEM_PARTICLE end
deponent_or_impersonal?()
click to toggle source
# File lib/latinverb_stem_deriver.rb, line 64 def deponent_or_impersonal? @verb.deponent? || @verb.semideponent? || @verb.impersonal? end
first_person_singular()
click to toggle source
# File lib/latinverb_stem_deriver.rb, line 60 def first_person_singular @verb.first_person_singular end
original_string()
click to toggle source
# File lib/latinverb_stem_deriver.rb, line 52 def original_string @verb.original_string end
present_active_infinitive()
click to toggle source
# File lib/latinverb_stem_deriver.rb, line 56 def present_active_infinitive @verb.present_active_infinitive end
proxy_string()
click to toggle source
# File lib/latinverb_stem_deriver.rb, line 47 def proxy_string klass = (@opts[:proxy_string_deriver] || Linguistics::Latin::Verb::LatinVerb::DeponentStringDeriver) klass.new(original_string).proxy_string end
verb_is_regular?()
click to toggle source
# File lib/latinverb_stem_deriver.rb, line 39 def verb_is_regular? @verb.regular? end