class Linguistics::Latin::Verb::ImperativeBlock

Public Class Methods

new(stem, plural_present_imperative, verb) click to toggle source
# File lib/linguistics_latin_imperative_block.rb, line 14
def initialize(stem, plural_present_imperative, verb)
  @stem = stem
  @plural_present_imperative = plural_present_imperative
  @verb = verb

  if @verb.classification == Linguistics::Latin::Verb::Classification::Deponent
    @results = form_imperative_base_for_deponent
    add_additional_imperative_forms_for_deponent
  else
    @results = form_imperative_base
    add_additional_imperative_forms
  end

  @results.map{|v| fix_macrons v}
end

Public Instance Methods

add_additional_imperative_forms_for_deponent() click to toggle source
# File lib/linguistics_latin_imperative_block.rb, line 34
def add_additional_imperative_forms_for_deponent
end
form_imperative_base_for_deponent() click to toggle source
# File lib/linguistics_latin_imperative_block.rb, line 30
def form_imperative_base_for_deponent
  [@verb.stem, @verb.active_voice_indicative_mood_present_tense.plural_number_second_person, @verb.active_voice_indicative_mood_present_tense_third_person_singular_number.sub(/tur\z/, 'tor')]
end
future(qualifier=nil) click to toggle source
# File lib/linguistics_latin_imperative_block.rb, line 45
def future(qualifier=nil)
  return @results[2,4] if qualifier.nil?
end
present(qualifier=nil) click to toggle source
# File lib/linguistics_latin_imperative_block.rb, line 49
def present(qualifier=nil)
  j = @results[0,2]
  return j if qualifier.nil?
  qualifier = qualifier.to_s
  return j[0] if qualifier =~ /singular/
  return j[1] if qualifier =~ /plural/
end
present_tense_plural_number() click to toggle source
# File lib/linguistics_latin_imperative_block.rb, line 41
def present_tense_plural_number
  present('plural')
end
present_tense_singular_number() click to toggle source
# File lib/linguistics_latin_imperative_block.rb, line 37
def present_tense_singular_number
  present('singular')
end

Private Instance Methods

add_additional_imperative_forms() click to toggle source
# File lib/linguistics_latin_imperative_block.rb, line 59
def add_additional_imperative_forms
  stem = @stem || @verb.instance_variable_get(:@proxyVerb).stem
  @results << stem + "tō"
  @results << stem + "tōte"

  @results << stem + "tō"
  @results << stem + "ntō"
end
form_imperative_base() click to toggle source
# File lib/linguistics_latin_imperative_block.rb, line 68
def form_imperative_base
  ImperativeRuleFactory.new(@verb).present_tense_rule.call(@stem, @plural_present_imperative)
end