Class: Conjugators::ActionVerbs::PastOne
- Inherits:
-
Object
- Object
- Conjugators::ActionVerbs::PastOne
- Extended by:
- Shared
- Defined in:
- lib/conjugators/action_verbs/past_one.rb
Constant Summary collapse
- UE_CK_PATTERN =
Constants for diphthong patterns
/ue[ck]\z/.freeze
- UE_OTHER_PATTERN =
ue followed by other consonants
/ue[^ck]\z/.freeze
- VO_PATTERN =
vo followed by k
/vok\z/.freeze
Class Method Summary collapse
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
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/conjugators/action_verbs/past_one.rb', line 12 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 |
Class Method Details
.basic_hgrades ⇒ Object
265 266 267 268 269 270 271 272 273 274 275 |
# File 'lib/conjugators/action_verbs/past_one.rb', line 265 def self.basic_hgrades { 'a' => 'vh', 'e' => 'eh', 'ē' => 'eh', 'i' => 'ih', 'o' => 'oh', 'u' => 'uh', 'v' => 'vh', } end |
Instance Method Details
#conjugate! ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/conjugators/action_verbs/past_one.rb', line 24 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 |