Class: Linguistics::Latin::Verb::LatinVerb::Mutators::Invariant::ImperativesStrategy

Inherits:
Object
  • Object
show all
Defined in:
lib/latinverb/tense_method_applicator/mutators/invariant/imperatives.rb

Overview

GRAMMATICAL FUNCTION

Used to express command. As A&G notes, oftentimes the Subjunctive is the correct mood for exhortation.

Constant Summary collapse

IMPERATIVE_EXCEPTIONS =
{
  "ducere"   => %w(duc ducite),
  "dicere"   => %w(dic dicite),
  "facere"   => %w(fac facite),
  "ferre"    => %w(fer ferte),
  "nolere"   => %w(nolo nolite)
}

Instance Method Summary collapse

Constructor Details

#initialize(verb) ⇒ ImperativesStrategy

Returns a new instance of ImperativesStrategy.



24
25
26
# File 'lib/latinverb/tense_method_applicator/mutators/invariant/imperatives.rb', line 24

def initialize(verb)
  @verb = verb
end

Instance Method Details

#apply!Object



28
29
30
31
32
33
34
35
# File 'lib/latinverb/tense_method_applicator/mutators/invariant/imperatives.rb', line 28

def apply!
  args = exceptional_imperative? ? calculate_exceptional_imperatives : [@verb.stem, @verb.present_active_infinitive]
  @verb.instance_eval do
    def imperatives
      Linguistics::Latin::Verb::ImperativeBlock.new(*args, self)
    end
  end
end