Class: FormIPresentBase

Inherits:
Base
  • Object
show all
Defined in:
lib/arabic_conjugator/present_bases/form_I_present_base.rb

Instance Method Summary collapse

Methods inherited from Base

#adjust_first_radical, #hollow_defective_base, #regular_base

Constructor Details

#initialize(verb) ⇒ FormIPresentBase

Returns a new instance of FormIPresentBase.



9
10
11
12
# File 'lib/arabic_conjugator/present_bases/form_I_present_base.rb', line 9

def initialize(verb)
  super
  @base = @root1 + @root2 + @root3
end

Instance Method Details

#adjust_second_radicalObject



44
45
46
47
# File 'lib/arabic_conjugator/present_bases/form_I_present_base.rb', line 44

def adjust_second_radical
  base = @root1 + @root2 + @root3
  @root2 = FORM_I_HAMZATED_PRESENT[base]
end

#adjust_third_radicalObject



49
50
51
52
# File 'lib/arabic_conjugator/present_bases/form_I_present_base.rb', line 49

def adjust_third_radical
  base = @root1 + @root2 + @root3
  @root3 = FORM_I_HAMZATED_PRESENT[base]
end

#assimilated_baseObject



14
15
16
# File 'lib/arabic_conjugator/present_bases/form_I_present_base.rb', line 14

def assimilated_base
  @root2 + @root3
end

#assimilated_defective_baseObject



36
37
38
39
40
41
42
# File 'lib/arabic_conjugator/present_bases/form_I_present_base.rb', line 36

def assimilated_defective_base
  if [:you_pl, :they, :you_f].include?(@pronoun)
    @root2
  else
    @root2 + @root3
  end
end

#defective_baseObject



27
28
29
30
31
32
33
34
# File 'lib/arabic_conjugator/present_bases/form_I_present_base.rb', line 27

def defective_base
  base = @base[0...-1]
  if [:you_pl, :they, :you_f].include?(@pronoun)
    base
  else
    base + (FORM_I_DEFECTIVE_PRESENT[@base] ||= @root3)
  end
end

#doubled_baseObject



23
24
25
# File 'lib/arabic_conjugator/present_bases/form_I_present_base.rb', line 23

def doubled_base
  @base[0...-1] + "ّ"
end

#hollow_baseObject



18
19
20
21
# File 'lib/arabic_conjugator/present_bases/form_I_present_base.rb', line 18

def hollow_base
  @base = @root1 + FORM_I_HOLLOW_PRESENT[@base] + @root3 if FORM_I_HOLLOW_PRESENT[@base]
  super
end