Module: Coinmarketcap
- Defined in:
- lib/coinmarketcap.rb,
lib/coinmarketcap/version.rb
Constant Summary collapse
- VERSION =
"0.3.0"
Class Method Summary collapse
- .coin(id, currency = 'USD') ⇒ Object
- .coins(limit = nil) ⇒ Object
-
.get_historical_price(id, start_date, end_date) ⇒ Object
20170908.
- .global(currency = 'USD') ⇒ Object
Class Method Details
.coin(id, currency = 'USD') ⇒ Object
15 16 17 |
# File 'lib/coinmarketcap.rb', line 15 def self.coin(id, currency = 'USD') HTTParty.get("https://api.coinmarketcap.com/v2/ticker/#{id}/?convert=#{currency}") end |
.coins(limit = nil) ⇒ Object
7 8 9 10 11 12 13 |
# File 'lib/coinmarketcap.rb', line 7 def self.coins(limit = nil) if limit.nil? HTTParty.get('https://api.coinmarketcap.com/v2/ticker/?structure=array') else HTTParty.get("https://api.coinmarketcap.com/v2/ticker/?limit=#{limit}&structure=array") end end |
.get_historical_price(id, start_date, end_date) ⇒ Object
20170908
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/coinmarketcap.rb', line 23 def self.get_historical_price(id, start_date, end_date) # 20170908 prices = [] doc = Nokogiri::HTML(open("https://coinmarketcap.com/currencies/#{id}/historical-data/?start=#{start_date}&end=#{end_date}")) rows = doc.css('tr') rows.shift rows.each do |row| begin each_row = Nokogiri::HTML(row.to_s).css('td') if each_row.count > 1 price_bundle = {} price_bundle[:date] = Date.parse(each_row[0].text) price_bundle[:open] = each_row[1].text.to_f price_bundle[:high] = each_row[2].text.to_f price_bundle[:low] = each_row[3].text.to_f price_bundle[:close] = each_row[4].text.to_f price_bundle[:avg] = (price_bundle[:high] + price_bundle[:low]) / 2.0 prices << price_bundle end rescue next end end prices end |
.global(currency = 'USD') ⇒ Object
19 20 21 |
# File 'lib/coinmarketcap.rb', line 19 def self.global(currency = 'USD') HTTParty.get("https://api.coinmarketcap.com/v2/global/?convert=#{currency}") end |