Class: Linguistics::Latin::Verb::LatinVerb::Mutators::Deponent::InfinitiveMutator

Inherits:
Object
  • Object
show all
Defined in:
lib/latinverb/tense_method_applicator/mutators/deponent/infinitive_mutator.rb

Instance Method Summary collapse

Constructor Details

#initialize(verb, proxyVerb) ⇒ InfinitiveMutator

Returns a new instance of InfinitiveMutator.



8
9
10
11
12
# File 'lib/latinverb/tense_method_applicator/mutators/deponent/infinitive_mutator.rb', line 8

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

Instance Method Details

#mutate!Object



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/tense_method_applicator/mutators/deponent/infinitive_mutator.rb', line 14

def mutate!
  proxyVerb = @proxyVerb
  @verb.instance_eval do
    @proxyVerb = proxyVerb

    def present_active_infinitive
      return @proxyVerb.send :present_passive_infinitive
    end

    def perfect_active_infinitive
      return @proxyVerb.send :perfect_passive_infinitive
    end

    def future_active_infinitive
      return @proxyVerb.send :future_active_infinitive
    end

    def present_passive_infinitive
      return NullTenseBlock.new
    end
  end
end