Class: FormVIIIPresentBase

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

Instance Method Summary collapse

Methods inherited from Base

#adjust_first_radical, #hollow_defective_base

Constructor Details

#initialize(verb) ⇒ FormVIIIPresentBase

Returns a new instance of FormVIIIPresentBase.



5
6
7
8
# File 'lib/arabic_conjugator/present_bases/form_VIII_present_base.rb', line 5

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

Instance Method Details

#adjust_second_radicalObject



59
60
61
# File 'lib/arabic_conjugator/present_bases/form_VIII_present_base.rb', line 59

def adjust_second_radical
  @root2 = "ئ"
end

#adjust_third_radicalObject



63
64
65
# File 'lib/arabic_conjugator/present_bases/form_VIII_present_base.rb', line 63

def adjust_third_radical
  @root3 = "ئ"
end

#assimilated_baseObject



38
39
40
# File 'lib/arabic_conjugator/present_bases/form_VIII_present_base.rb', line 38

def assimilated_base
  "تّ" + @root2 + @root3
end

#assimilated_defective_baseObject



21
22
23
24
25
26
27
28
# File 'lib/arabic_conjugator/present_bases/form_VIII_present_base.rb', line 21

def assimilated_defective_base
  @base = "تّ" + @root2 + @root3
  if [:you_f, :you_pl, :they].include?(@pronoun)
    @base[0...-1]
  else
    @base[0...-1] + "ي"
  end
end

#assimilated_taa_baseObject



47
48
49
# File 'lib/arabic_conjugator/present_bases/form_VIII_present_base.rb', line 47

def assimilated_taa_base
  @root1 + "ّ" + @root2 + @root3
end

#defective_baseObject



30
31
32
33
34
35
36
# File 'lib/arabic_conjugator/present_bases/form_VIII_present_base.rb', line 30

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

#doubled_baseObject



42
43
44
45
# File 'lib/arabic_conjugator/present_bases/form_VIII_present_base.rb', line 42

def doubled_base
  @base = morphed_taa_base if ["ز", "ذ", "ص", "ض"].include?(@root1)
  @base[0...-1] + "ّ"
end

#hollow_baseObject



14
15
16
17
18
19
# File 'lib/arabic_conjugator/present_bases/form_VIII_present_base.rb', line 14

def hollow_base
  @root2 = (FORM_VIII_HOLLOW[@root1+@root2+@root3] ||= "ا")
  @base =  @root1 + "ت" + @root2 + @root3
  @base = morphed_taa_base if ["ز", "ذ", "ص", "ض"].include?(@root1)
  @base
end

#morphed_taa_baseObject



51
52
53
54
55
56
57
# File 'lib/arabic_conjugator/present_bases/form_VIII_present_base.rb', line 51

def morphed_taa_base
  if ["ز", "ذ"].include?(@root1)
    @root1 + "د" + @root2 + @root3
  else
    @root1 + "ط" + @root2 + @root3
  end
end

#regular_baseObject



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

def regular_base
  @base
end