Class: Linguistics::Latin::Verb::LatinVerb::Mutators::Irregular::Revivifier::ParticiplesBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/latinverb/tense_method_applicator/mutators/irregular/participles_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(verb, participles_structure) ⇒ ParticiplesBuilder

Returns a new instance of ParticiplesBuilder.



9
10
11
12
13
# File 'lib/latinverb/tense_method_applicator/mutators/irregular/participles_builder.rb', line 9

def initialize(verb, participles_structure)
  @verb = verb
  @participles_structure = participles_structure
  mutate!
end

Instance Method Details

#mutate!Object



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/latinverb/tense_method_applicator/mutators/irregular/participles_builder.rb', line 15

def mutate!
  i = OpenStruct.new(@participles_structure)

  @verb.instance_exec do
    @__irregular_participles = i
    def present_active_participle; @__irregular_participles.present_active_participle; end
    def future_active_participle; @__irregular_participles.future_active_participle; end
    def perfect_passive_participle; @__irregular_participles.perfect_passive_participle; end
    def future_passive_participle; @__irregular_participles.future_passive_participle; end
    def gerundive; @__irregular_participles.gerundive; end
    def gerund; @__irregular_participles.d; end
  end
end