Class: Linguistics::Latin::Verb::LatinVerb::Participler

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Phonographia
Defined in:
lib/latinverb/components/participler.rb

Instance Method Summary collapse

Constructor Details

#initialize(verb) ⇒ Participler

Returns a new instance of Participler.



11
12
13
# File 'lib/latinverb/components/participler.rb', line 11

def initialize(verb)
  @verb = verb
end

Instance Method Details

#future_active_participleObject



21
22
23
24
25
# File 'lib/latinverb/components/participler.rb', line 21

def future_active_participle
  mybase = passive_perfect_participle.gsub(/u[sm]$/, "ūr")
  singular_endings = %w(us a um)
  singular_endings.collect{ |x| mybase + "#{x}".chomp }.join(', ')
end

#future_passive_participleObject



33
34
35
36
37
# File 'lib/latinverb/components/participler.rb', line 33

def future_passive_participle
  mybase = participial_stem + "nd"
  singular_endings = %w(us a um)
  singular_endings.collect{ |x| fix_macrons(mybase + "#{x}".chomp) }.join(', ')
end

#gerundObject



43
44
45
46
# File 'lib/latinverb/components/participler.rb', line 43

def gerund
  b = gerundive.sub( /.*\s+(.*)um.*$/, "\\1" )
  b += "ī, ō, etc."
end

#gerundiveObject



39
40
41
# File 'lib/latinverb/components/participler.rb', line 39

def gerundive
  @verb.future_passive_participle
end

#perfect_passive_participleObject



27
28
29
30
31
# File 'lib/latinverb/components/participler.rb', line 27

def perfect_passive_participle
  mybase = passive_perfect_participle.sub(/u[sm]$/,'')
  singular_endings=%w(us a um)
  singular_endings.collect{ |x| mybase + "#{x}".chomp }.join(', ')
end

#present_active_participleObject



15
16
17
18
19
# File 'lib/latinverb/components/participler.rb', line 15

def present_active_participle
  raise "Participial stem was nil" if  participial_stem.nil?
  endings = %w(ns ntis)
  endings.collect{ |x| fix_macrons(participial_stem + x.chomp) }.join(', ')
end

#supineObject



48
49
50
51
52
53
# File 'lib/latinverb/components/participler.rb', line 48

def supine
  acc = passive_perfect_participle
  abl = acc.sub( /^(.*)um$/, "\\1" )
  abl += "ū"
  {:ablative => abl, :accusative => acc}
end