Class: Cryptoexchange::Exchanges::Coinhub::Services::Market
- Inherits:
-
Services::Market
- Object
- Services::Market
- Cryptoexchange::Exchanges::Coinhub::Services::Market
- Defined in:
- lib/cryptoexchange/exchanges/coinhub/services/market.rb
Class Method Summary collapse
Instance Method Summary collapse
- #adapt(market_pair, output) ⇒ Object
- #adapt_all(output) ⇒ Object
- #fetch ⇒ Object
- #ticker_url ⇒ Object
Methods inherited from Services::Market
Class Method Details
.supports_individual_ticker_query? ⇒ Boolean
6 7 8 |
# File 'lib/cryptoexchange/exchanges/coinhub/services/market.rb', line 6 def supports_individual_ticker_query? false end |
Instance Method Details
#adapt(market_pair, output) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/cryptoexchange/exchanges/coinhub/services/market.rb', line 33 def adapt(market_pair, output) ticker = Cryptoexchange::Models::Ticker.new ticker.base = market_pair.base ticker.target = market_pair.target ticker.market = Coinhub::Market::NAME ticker.last = NumericHelper.to_d(output['last'].to_f) ticker.high = NumericHelper.to_d(output['high24hr'].to_f) ticker.low = NumericHelper.to_d(output['low24hr'].to_f) ticker.bid = NumericHelper.to_d(output['highestBid'].to_f) ticker.ask = NumericHelper.to_d(output['lowestAsk'].to_f) ticker.volume = NumericHelper.to_d(output['volume24hr'].to_f) ticker.change = NumericHelper.to_d(output['changePrice'].to_f) ticker. = nil ticker.payload = output ticker end |
#adapt_all(output) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/cryptoexchange/exchanges/coinhub/services/market.rb', line 21 def adapt_all(output) output['results'].map do |pair| base, target = pair[0].split('-') market_pair = Cryptoexchange::Models::MarketPair.new( base: base, target: target, market: Coinhub::Market::NAME ) adapt(market_pair, pair[1]) end end |
#fetch ⇒ Object
11 12 13 14 15 |
# File 'lib/cryptoexchange/exchanges/coinhub/services/market.rb', line 11 def fetch raw_output = HTTP.get(ticker_url) output = JSON.parse(raw_output) adapt_all(output) end |
#ticker_url ⇒ Object
17 18 19 |
# File 'lib/cryptoexchange/exchanges/coinhub/services/market.rb', line 17 def ticker_url "#{Cryptoexchange::Exchanges::Coinhub::Market::API_URL}/coinhub/public/returnTicker" end |