module TcmbExchange
Constants
- VERSION
Public Class Methods
exchange(kod, miktar)
click to toggle source
# File lib/tcmb_exchange.rb, line 51 def self.exchange(kod, miktar) kod.upcase! check = %w[USD AUD DKK EUR GBP CHF SEK CAD KWD NOK SAR JPY BGN RON RUB IRR CNY PKR QAR] return "Yanlış kod kullandınız." unless check.include? kod miktar.to_s.gsub!(",",".") if miktar.to_s.include? "," begin miktar = Float(miktar) rescue => error return "Miktar sayı veya ondalıklı sayı olamalı." end begin d = open("http://www.tcmb.gov.tr/kurlar/today.xml", 'User-Agent' => "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36") currency = Hash.new parsed = Nokogiri::XML(d.read, nil, "UTF-8") c = parsed.css("Currency[Kod=#{kod}]").first name = c.css("Isim").to_s.gsub("/","").gsub("<Isim>","") unit = c.css("Unit").to_s.gsub("/","").gsub("<Unit>","") al = miktar / unit.to_i * (c.css("ForexBuying").to_s.gsub("/","").gsub("<ForexBuying>","").to_f) sat = miktar / unit.to_i * (c.css("ForexSelling").to_s.gsub("/","").gsub("<ForexSelling>","").to_f) currency[name] = { "Birim" => miktar, "Alış" => al, "Satış" => sat } return currency rescue => error msg = "Hata oluştu. Lütfen github sayfasında, hangi durumda hatanın oluştuğunu belirten issue açınız." return error, msg end end
exchange_to(miktar, kod, kod2)
click to toggle source
# File lib/tcmb_exchange.rb, line 81 def self.exchange_to(miktar, kod, kod2) kod.upcase! kod2.upcase! check = %w[USD AUD DKK EUR GBP CHF SEK CAD KWD NOK SAR JPY BGN RON RUB IRR CNY PKR QAR] return "Yanlış kod kullandınız." unless check.include?(kod) and check.include?(kod2) miktar.to_s.gsub!(",",".") if miktar.to_s.include? "," begin miktar = Float(miktar) rescue => error return "Miktar sayı veya ondalıklı sayı olamalı." end begin d = open("http://www.tcmb.gov.tr/kurlar/today.xml", 'User-Agent' => "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36") currency = Hash.new parsed = Nokogiri::XML(d.read, nil, "UTF-8") c = parsed.css("Currency[Kod=#{kod}]").first name = c.css("Isim").to_s.gsub("/","").gsub("<Isim>","") code = c.css("CurrencyCode").to_s.gsub("/","").gsub("<CurrencyCode>","") unit = c.css("Unit").to_s.gsub("/","").gsub("<Unit>","") al = miktar / unit.to_i * (c.css("ForexBuying").to_s.gsub("/","").gsub("<ForexBuying>","").to_f) sat = miktar / unit.to_i * (c.css("ForexSelling").to_s.gsub("/","").gsub("<ForexSelling>","").to_f) c2 = parsed.css("Currency[Kod=#{kod2}]").first name2 = c2.css("Isim").to_s.gsub("/","").gsub("<Isim>","") code2 = c2.css("CurrencyCode").to_s.gsub("/","").gsub("<CurrencyCode>","") unit2 = c2.css("Unit").to_s.gsub("/","").gsub("<Unit>","") al2 = (c2.css("ForexBuying").to_s.gsub("/","").gsub("<ForexBuying>","").to_f) / unit2.to_i sat2 = (c2.css("ForexSelling").to_s.gsub("/","").gsub("<ForexSelling>","").to_f) / unit2.to_i al = al / al2 sat = sat / sat2 currency[name] = { "Birim" => miktar, "Alış" => al, "Satış" => sat, "Sonuç" => "#{miktar} #{name} için alış fiyatı #{al} #{name2}, satış fiyatı #{sat} #{name2}." } return currency rescue => error msg = "Hata oluştu. Lütfen github sayfasında, hangi durumda hatanın oluştuğunu belirten issue açınız." return error, msg end end
get()
click to toggle source
# File lib/tcmb_exchange.rb, line 6 def self.get begin d = open("http://www.tcmb.gov.tr/kurlar/today.xml", 'User-Agent' => "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36") parsed = Nokogiri::XML(d.read, nil, "UTF-8") currency = Hash.new parsed.css("Currency").each do |c| name = c.css("Isim").to_s.gsub("/","").gsub("<Isim>","") next if name.include? "SDR" unit = c.css("Unit").to_s.gsub("/","").gsub("<Unit>","") al = c.css("ForexBuying").to_s.gsub("/","").gsub("<ForexBuying>","").to_f sat = c.css("ForexSelling").to_s.gsub("/","").gsub("<ForexSelling>","").to_f currency[name] = { "Birim" => unit, "Alış" => al, "Satış" => sat } end return currency rescue => error msg = "Hata oluştu. Lütfen github sayfasında, hangi durumda hatanın oluştuğunu belirten issue açınız." return error, msg end end
get_by_code(kod)
click to toggle source
# File lib/tcmb_exchange.rb, line 28 def self.get_by_code(kod) kod.upcase! check = %w[USD AUD DKK EUR GBP CHF SEK CAD KWD NOK SAR JPY BGN RON RUB IRR CNY PKR QAR] return "Yanlış kod kullandınız." unless check.include? kod begin d = open("http://www.tcmb.gov.tr/kurlar/today.xml", 'User-Agent' => "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36") currency = Hash.new parsed = Nokogiri::XML(d.read, nil, "UTF-8") c = parsed.css("Currency[Kod=#{kod}]").first name = c.css("Isim").to_s.gsub("/","").gsub("<Isim>","") unit = c.css("Unit").to_s.gsub("/","").gsub("<Unit>","") al = c.css("ForexBuying").to_s.gsub("/","").gsub("<ForexBuying>","").to_f sat = c.css("ForexSelling").to_s.gsub("/","").gsub("<ForexSelling>","").to_f currency[name] = { "Birim" => unit, "Alış" => al, "Satış" => sat } return currency rescue => error msg = "Hata oluştu. Lütfen github sayfasında, hangi durumda hatanın oluştuğunu belirten issue açınız." return error, msg end end