Class: Conjugators::ActionVerbs::PastOne
- Inherits:
-
Object
- Object
- Conjugators::ActionVerbs::PastOne
- Extended by:
- Shared
- Defined in:
- lib/conjugators/action_verbs/past_one.rb
Instance Method Summary collapse
- #conjugate! ⇒ Object
-
#initialize(verb, irregular_pattern: nil) ⇒ PastOne
constructor
SHORTEN, STRESS, ASPIRATE final vowel.
Methods included from Shared
irregulars_three_way, irregulars_two_way, person_markers
Constructor Details
#initialize(verb, irregular_pattern: nil) ⇒ PastOne
SHORTEN, STRESS, ASPIRATE final vowel
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/conjugators/action_verbs/past_one.rb', line 6 def initialize(verb, irregular_pattern: nil) @verb = verb @irregular_pattern = irregular_pattern raise "Invalid verb. Verb must end with 'etv'." unless @verb.end_with?("etv") # verb stem is everything but the ending 'etv' @verb_stem = @verb.gsub(/etv\z/, "") @irregular = !!irregulars[@verb] end |
Instance Method Details
#conjugate! ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/conjugators/action_verbs/past_one.rb', line 18 def conjugate! { verb: @verb, first_person_singular: { basic_past_one: conjugate(tense: :conjugate_1ps, type: :basic_past_one), }, second_person_singular: { basic_past_one: conjugate(tense: :conjugate_2ps, type: :basic_past_one), }, third_person_singular: { basic_past_one: conjugate(tense: :conjugate_3ps, type: :basic_past_one), }, first_person_plural: { basic_past_one: conjugate(tense: :conjugate_1pp, type: :basic_past_one), }, second_person_plural: { basic_past_one: conjugate(tense: :conjugate_2pp, type: :basic_past_one), }, third_person_plural: { basic_past_one: conjugate(tense: :conjugate_3pp, type: :basic_past_one), } } end |