Class: Linguistics::Latin::Verb::LatinVerb::LatinverbStemDeriver

Inherits:
Object
  • Object
show all
Defined in:
lib/latinverb/components/stem_deriver.rb

Instance Method Summary collapse

Constructor Details

#initialize(verb) ⇒ LatinverbStemDeriver

Returns a new instance of LatinverbStemDeriver.



6
7
8
# File 'lib/latinverb/components/stem_deriver.rb', line 6

def initialize(verb)
  @verb = verb
end

Instance Method Details

#participial_stemObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/latinverb/components/stem_deriver.rb', line 14

def participial_stem
  if present_active_infinitive.to_s =~ /(.*ā)re$/
    return $1
  end

  if present_active_infinitive.to_s =~ /(.*ē)re$/
    return $1
  end

  if present_active_infinitive.to_s =~ /(.*)ere$/
    match=$1
    if first_person_singular =~ /iō/
      return match + "iē"
    else
      return match + "e"
    end
  end

  if present_active_infinitive.to_s =~ /(.*)īre$/
    return $1 + "iē"
  end
end

#stemObject



10
11
12
# File 'lib/latinverb/components/stem_deriver.rb', line 10

def stem
  verb_is_regular? ?  calculate_stem : calculate_deponent_proxy_stem
end