class Muombi
Attributes
alama[RW]
jina[RW]
siri[RW]
siti[RW]
toleo[RW]
urefu[RW]
Public Class Methods
new(chaguo_asili)
click to toggle source
# File lib/usiri/muombi.rb, line 9 def initialize(chaguo_asili) karibu leta_chaguo_id chaguo_asili leta_chaguo_siri chaguo_asili end
Private Instance Methods
chaguo_haijasetiwa?(chaguo_asili, chaguo)
click to toggle source
# File lib/usiri/muombi.rb, line 80 def chaguo_haijasetiwa? chaguo_asili, chaguo leta_chaguo_asili(chaguo_asili, chaguo).nil? end
karibu()
click to toggle source
# File lib/usiri/muombi.rb, line 16 def karibu puts MAELEZO[:karibu] end
leta_chaguo(chaguo_asili, chaguo, env = nil)
click to toggle source
# File lib/usiri/muombi.rb, line 50 def leta_chaguo chaguo_asili, chaguo, env = nil jibu = leta_chaguo_asili chaguo_asili, chaguo if jibu.nil? if not env.nil? jibu = ENV[env] else muhakikisha = tengeneza_muhakikisha chaguo jibu = omba chaguo if not muhakikisha.nil? while not muhakikisha.call jibu jibu = omba chaguo, kosa=true end end end end chaguo == :urefu ? jibu.to_i : jibu end
leta_chaguo_asili(chaguo_asili, chaguo)
click to toggle source
# File lib/usiri/muombi.rb, line 84 def leta_chaguo_asili chaguo_asili, chaguo chaguo_asili.method(chaguo).call if chaguo != :siri end
leta_chaguo_id(chaguo_asili)
click to toggle source
# File lib/usiri/muombi.rb, line 20 def leta_chaguo_id chaguo_asili [:jina, :siti, :siri].each do |chaguo| setti_chaguo chaguo, leta_chaguo(chaguo_asili, chaguo, ENVI[chaguo]) end end
leta_chaguo_siri(chaguo_asili)
click to toggle source
# File lib/usiri/muombi.rb, line 26 def leta_chaguo_siri chaguo_asili hazijasetiwa = []; MSINGI.each do |jina_chaguo, thamani| if chaguo_haijasetiwa? chaguo_asili, jina_chaguo hazijasetiwa.push jina_chaguo else thamani = leta_chaguo chaguo_asili, jina_chaguo setti_chaguo jina_chaguo, thamani end end maamuzi = omba_chaguo_siri hazijasetiwa.map { |e| "#{e}: #{MSINGI[e]}" } hazijasetiwa.each_with_index do |chaguo, sehemu| amekubali_msingi = maamuzi[sehemu] if amekubali_msingi setti_chaguo chaguo, MSINGI[chaguo] else setti_chaguo chaguo, leta_chaguo(chaguo_asili, chaguo) end end end
leta_setta(chaguo)
click to toggle source
# File lib/usiri/muombi.rb, line 76 def leta_setta chaguo (chaguo.to_s + "=").to_sym end
omba(chaguo, kosa = false)
click to toggle source
# File lib/usiri/muombi.rb, line 88 def omba chaguo, kosa = false swala = tengeneza_swala chaguo, kosa ombi = tengeneza_ombi chaguo if chaguo == :siri return ombi.call(swala).strip else chaguo_ombi = tengeneza_chaguo_ombi chaguo if chaguo == :alama sehemu = ombi.call swala, AINA_MAALAMA, chaguo_ombi return AINA_MAALAMA[sehemu] else return ombi.call(swala, chaguo_ombi).strip end end end
omba_chaguo_siri(msingi)
click to toggle source
# File lib/usiri/muombi.rb, line 154 def omba_chaguo_siri msingi Ask.checkbox(MAELEZO[:chaguo_siri], msingi, default: msingi.map { |e| true }, response: false) end
omba_siri(swala)
click to toggle source
# File lib/usiri/muombi.rb, line 149 def omba_siri swala print swala IT.letas(ondoa=true).strip end
setti_chaguo(chaguo, thamani)
click to toggle source
# File lib/usiri/muombi.rb, line 71 def setti_chaguo chaguo, thamani setta = leta_setta chaguo self.method(setta).call(thamani) end
tengeneza_chaguo_ombi(chaguo)
click to toggle source
# File lib/usiri/muombi.rb, line 136 def tengeneza_chaguo_ombi chaguo opts = { response: false } case chaguo when :urefu opts[:default] = MSINGI[:urefu].to_s when :toleo opts[:default] = MSINGI[:toleo].to_s end opts end
tengeneza_muhakikisha(chaguo)
click to toggle source
# File lib/usiri/muombi.rb, line 106 def tengeneza_muhakikisha chaguo begin return Muhakikisha.method chaguo rescue NameError return nil end end
tengeneza_ombi(chaguo)
click to toggle source
# File lib/usiri/muombi.rb, line 128 def tengeneza_ombi chaguo case chaguo when :siri then self.method :omba_siri when :alama then Ask.method :list else Ask.method :input end end
tengeneza_swala(chaguo, kosa = false)
click to toggle source
# File lib/usiri/muombi.rb, line 114 def tengeneza_swala chaguo, kosa = false swala = MAELEZO[chaguo] case chaguo when :alama swala = "chagua " + swala else swala = "Ingiza " + swala end swala = "#{MAELEZO[:jaribu_tena]} " + swala if kosa swala end