Class: FormIVPresentBase

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

Instance Method Summary collapse

Methods inherited from Base

#assimilated_defective_base, #hollow_defective_base, #regular_base

Constructor Details

#initialize(verb) ⇒ FormIVPresentBase

Returns a new instance of FormIVPresentBase.



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

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

Instance Method Details

#adjust_first_radicalObject



36
37
38
# File 'lib/arabic_conjugator/present_bases/form_IV_present_base.rb', line 36

def adjust_first_radical
  @root1 = "ؤ"
end

#adjust_second_radicalObject



40
41
42
# File 'lib/arabic_conjugator/present_bases/form_IV_present_base.rb', line 40

def adjust_second_radical
  @root2 = "ئ"
end

#adjust_third_radicalObject



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

def adjust_third_radical
  @root3 = "ئ"
end

#assimilated_baseObject



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

def assimilated_base
  "و" + @base[1..-1]
end

#defective_baseObject



10
11
12
13
14
15
16
# File 'lib/arabic_conjugator/present_bases/form_IV_present_base.rb', line 10

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

#doubled_baseObject



32
33
34
# File 'lib/arabic_conjugator/present_bases/form_IV_present_base.rb', line 32

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

#hollow_baseObject



22
23
24
25
26
27
28
29
30
# File 'lib/arabic_conjugator/present_bases/form_IV_present_base.rb', line 22

def hollow_base
  if @root3 == "ئ" && [:I, :you_m, :he, :she, :we].include?(@pronoun)
    @root1 + "يء"
  elsif @root3 == "ئ" && [:you_pl, :they].include?(@pronoun)
    @root1 + "يؤ"
  else
    @root1 + "ي" + @root3
  end
end