class TurksatkabloCli::OnlineOperations::Cli
Public Class Methods
new(*)
click to toggle source
check_unknown_options!
Calls superclass method
# File lib/turksatkablo_cli/online_operations/cli.rb, line 12 def initialize(*) @session = agent.session super end
Public Instance Methods
anlikborc()
click to toggle source
# File lib/turksatkablo_cli/online_operations/cli.rb, line 104 def anlikborc if agent.authenticated? visit_status = @session.visit(Enums::INSTANT_DEBT_URL) if visit_status["status"] == 'success' && @session.current_url == Enums::INSTANT_DEBT_URL @session.find(:css, "div.anlik-borc").all("p, h1, small").map(&:text).each { |val| puts val } else puts "Anlık Borç menüsüne şuan ulaşılamıyor." end end end
fatura(tarih, pdf=nil)
click to toggle source
# File lib/turksatkablo_cli/online_operations/cli.rb, line 117 def fatura(tarih, pdf=nil) if agent.authenticated? visit_status = @session.visit(Enums::INVOICES_URL) if visit_status["status"] == 'success' && @session.current_url == Enums::INVOICES_URL temp = Dir.tmpdir() invoice_file_path = temp + '/' + SecureRandom.uuid + '.html' begin if pdf link_element = @session.find('tr', text: tarih).find('a:last-child') if link_element[:id] != nil && link_element[:id] == "PDFYok" puts "Fatura PDF'iniz ayın 13'ünden sonra oluşacaktır." else visit_url = link_element[:href] Launchy.open(visit_url) puts "Faturanız varsayılan internet tarayıcınızda açıldı, kontrol ediniz!" end else op_button_count = @session.find('tr', text: tarih).all('a').size link_css_selector = 'a:first-child' if op_button_count != nil if op_button_count == 3 link_css_selector = 'a:nth-child(2)' end end fatura_url = @session.find('tr', text: tarih).find(link_css_selector)[:onclick] if fatura_url != nil first_single_quote_ix = fatura_url.index('\'') second_single_quote_ix = fatura_url.index('\'', first_single_quote_ix+1) fatura_url = fatura_url[first_single_quote_ix+1..second_single_quote_ix-1] visit_url = Enums::BASE_URL + fatura_url @session.visit(visit_url) File.open( "#{invoice_file_path}", "w+" ) { |f| f.write @session.html } Launchy.open("#{invoice_file_path}") puts 'Faturanız varsayılan internet tarayıcınızda açıldı, kontrol ediniz!' else puts "Mevcut bir faturanız bulunmamaktadır." end end rescue Exception => e puts 'Bir hata oluştu, mevcut bir faturanız bulunmamaktadır, fatura görüntüleme' end else puts "Fatura Bilgileri menüsüne şuan ulaşılamıyor." end end end
faturaliste()
click to toggle source
# File lib/turksatkablo_cli/online_operations/cli.rb, line 174 def faturaliste if agent.authenticated? visit_status = @session.visit(Enums::INVOICES_URL) if visit_status["status"] == 'success' && @session.current_url == Enums::INVOICES_URL # TODO: REFACTOR table helper rows = [] invoices_td_list = @session.all(:css, 'div.panel-default table.table tr td:nth-child(-n+5)').map(&:text) if invoices_td_list.size > 0 (0..invoices_td_list.size).step(5) do |n| rows << invoices_td_list[n...n+5] end table = Terminal::Table.new :headings => [Enums::AD_SOYAD, Enums::SON_ODEME_TRH, Enums::FATURA_TUTARI, Enums::GECIKME_BEDELI, Enums::TOPLAM_TUTAR], :rows => rows.reverse puts table else puts "Mevcut bir faturanız bulunmamaktadır." end else puts "Fatura Bilgileri menüsüne şuan ulaşılamıyor." end end end
hizmet()
click to toggle source
# File lib/turksatkablo_cli/online_operations/cli.rb, line 45 def hizmet if agent.authenticated? visit_status = @session.visit(Enums::SERVICE_OPERATIONS_URL) if visit_status["status"] == 'success' && @session.current_url == Enums::SERVICE_OPERATIONS_URL # TODO: REFACTOR table helper rows = [] services_td_list = @session.all(:css, 'table#hizmetTable tr td:nth-child(-n+4)').map(&:text) if services_td_list.size > 0 (0..services_td_list.size).step(4) do |n| rows << services_td_list[n...n+4] end table = Terminal::Table.new :headings => [Enums::HIZMET, Enums::HIZMET_TURU, Enums::HIZMET_DURUMU, Enums::TARIFE_TIPI], :rows => rows puts table else puts "Mevcut bir hizmetiniz bulunmamaktadır." end else puts "Hizmet İşlemleri menüsüne şuan ulaşılamıyor." end end end
kampanya()
click to toggle source
# File lib/turksatkablo_cli/online_operations/cli.rb, line 75 def kampanya if agent.authenticated? visit_status = @session.visit(Enums::CAMPAIGN_INFO_URL) if visit_status["status"] == 'success' && @session.current_url == Enums::CAMPAIGN_INFO_URL # TODO: REFACTOR table helper rows = [] campaigns_td_list = @session.all(:css, 'table.table tr td').map(&:text) if campaigns_td_list.size > 0 (0..campaigns_td_list.size).step(4) do |n| rows << campaigns_td_list[n...n+4] end table = Terminal::Table.new :headings => [Enums::HIZMET_ID, Enums::KAMPANYA_ADI, Enums::TAAHHUT_BAS_TRH, Enums::TAAHHUT_BIT_TRH], :rows => rows puts table else puts "Mevcut bir kampanyanız bulunmamaktadır." end else puts "Kampanya Bilgileri menüsüne şuan ulaşılamıyor." end end end
kota()
click to toggle source
# File lib/turksatkablo_cli/online_operations/cli.rb, line 28 def kota if agent.authenticated? @session.find(:css, "div.circle-container div.toplam p").all("span, sub").map(&:text).each { |val| puts val } end end
musterino()
click to toggle source
# File lib/turksatkablo_cli/online_operations/cli.rb, line 36 def musterino if agent.authenticated? puts @session.find(:css, "div.musteri div.musteri-id").text end end
ozet()
click to toggle source
# File lib/turksatkablo_cli/online_operations/cli.rb, line 18 def ozet if agent.authenticated? invoke :kota invoke :musterino invoke :anlikborc end end