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

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

Instance Method Summary collapse

Constructor Details

#initialize(verb, proxyVerb) ⇒ ImperativeMutator

Returns a new instance of ImperativeMutator.



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

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

Instance Method Details

#mutate!Object

The deponent’s imperatives require a bit of consideration. They don’t follow the stem/stem+‘ite’ format.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/latinverb/tense_method_applicator/mutators/deponent/imperative_mutator.rb', line 21

def mutate!
  proxyVerb = @proxyVerb
  @verb.instance_eval do
    extend Linguistics::Latin::Phonographia
    @proxyVerb = proxyVerb

    def active_voice_imperative_mood_present_tense_second_person_singular_number
      @proxyVerb.send(:present_active_infinitive)
    end

    def active_voice_imperative_mood_present_tense_second_person_plural_number
      return @proxyVerb.send :passive_voice_indicative_mood_present_tense_second_person_plural_number
    end

    def active_voice_imperative_mood_future_tense_second_person_singular_number
      k = @proxyVerb.send :passive_voice_indicative_mood_present_tense_second_person_plural_number
      k.sub!(/minī$/, '')
      k += 'tor'
      fix_macrons k
    end
  end
end