class Kaca
Public Class Methods
new(opts = ARGV)
click to toggle source
# File lib/kaca.rb, line 6 def initialize(opts = ARGV) urls = { altin: 'http://www.doviz.com/api/v1/golds/all/latest', doviz: 'http://www.doviz.com/api/v1/currencies/all/latest', bitcoin: 'https://blockchain.info/tr/ticker' } if is_number? opts[0] ne = opts[1] nekadar = opts[0] islem = opts[2] else ne = opts[0] nekadar = nil islem = opts[1] end altinlar = %w(ceyrek-altin yarim-altin tam-altin cumhuriyet-altini ata-altin besli-altin gumus) birimler = %w(amerikan-dolari euro sterlin isvicre-frangi rus-rublesi japon-yeni) bitcoin = %w(bitcoin coin) ne = FuzzyMatch.new(altinlar + birimler + bitcoin).find(ne.downcase) url = if altinlar.include? ne urls[:altin] elsif bitcoin.include? ne urls[:bitcoin] else urls[:doviz] end islem = if ['alabilirim', 'alırım', 'alirim', 'bulurum'].include? islem 'selling' else 'buying' end islem = islem[0..-4] if ne == 'bitcoin' getir(url, ne, nekadar, islem) rescue => e puts "Anlarken Errör olustu: #{e}" end
Public Instance Methods
get(url)
click to toggle source
# File lib/kaca.rb, line 68 def get url uri = URI.parse(url) http = Net::HTTP.new(uri.host) req = Net::HTTP::Get.new(uri, 'Content-Type' => 'application/json') res = http.request(req) result = JSON.parse(res.body) return result end
getir(url, ne, nekadar, islem)
click to toggle source
# File lib/kaca.rb, line 48 def getir(url, ne, nekadar, islem) result = get url if ne == 'bitcoin' aranan = 'bitcoin' dolar = get('http://www.doviz.com/api/v1/currencies/all/latest').select { |r| r['name'] == 'amerikan-dolari' }.first try = (result['USD'][islem] * dolar['selling']).to_f.round(2) else aranan = result.select { |r| r['name'] == ne }.first try = aranan[islem].to_f.round(2) aranan = aranan['full_name'].downcase end try = try * nekadar.to_i unless nekadar.nil? sonuc = "#{try} TRY e #{aranan} #{islem == 'buying' ? 'satabilirsin' : 'alabilirsin'}." puts sonuc rescue => e puts "Getirirken Errör olustu: #{e}" end
is_number?(string)
click to toggle source
Ilk parametre string fakat numeric mi bakmak icin
# File lib/kaca.rb, line 79 def is_number? string true if Float(string) rescue false end