Class: Conjugators::ActionVerbs::FutureTense

Inherits:
Object
  • Object
show all
Extended by:
Shared
Defined in:
lib/conjugators/action_verbs/future_tense.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Shared

irregulars_three_way, irregulars_two_way, person_markers

Constructor Details

#initialize(verb) ⇒ FutureTense

Note, MVSKOKE language here



6
7
8
9
10
11
12
# File 'lib/conjugators/action_verbs/future_tense.rb', line 6

def initialize(verb)
  @verb = verb

  raise "Invalid verb. Verb must end with 'etv'." unless @verb.end_with?("etv")

  @irregular = !!irregulars[@verb]
end

Class Method Details

.person_markersObject



179
180
181
182
183
184
185
186
187
188
# File 'lib/conjugators/action_verbs/future_tense.rb', line 179

def self.person_markers
  {
    '1ps' => %w{     arē     },
    '2ps' => %w{   etskvrē   },
    '3ps' => %w{     vrē     },
    '1pp' => %w{    ēyvrē    },
    '2pp' => %w{   atskvrē   },
    '3pp' => %w{    vkvrē    },
  }
end

Instance Method Details

#conjugate!Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/conjugators/action_verbs/future_tense.rb', line 14

def conjugate!
  {
    verb: @verb,
    first_person_singular: {
      basic:              conjugate(tense: :conjugate_1ps, type: :basic_present),
    },
    second_person_singular: {
      basic:              conjugate(tense: :conjugate_2ps, type: :basic_present),
    },
    third_person_singular: {
      basic:              conjugate(tense: :conjugate_3ps, type: :basic_present),
    },
    first_person_plural: {
      basic:              conjugate(tense: :conjugate_1pp, type: :basic_present),
    },
    second_person_plural: {
      basic:              conjugate(tense: :conjugate_2pp, type: :basic_present),
    },
    third_person_plural: {
      basic:              conjugate(tense: :conjugate_3pp, type: :basic_present),
    }
  }
end