Class: Cryptoexchange::Exchanges::B2bx::Services::Market
- Inherits:
-
Services::Market
- Object
- Services::Market
- Cryptoexchange::Exchanges::B2bx::Services::Market
- Defined in:
- lib/cryptoexchange/exchanges/b2bx/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/b2bx/services/market.rb', line 6 def supports_individual_ticker_query? false end |
Instance Method Details
#adapt(market_pair, output) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/cryptoexchange/exchanges/b2bx/services/market.rb', line 34 def adapt(market_pair, output) ticker = Cryptoexchange::Models::Ticker.new ticker.base = market_pair.base ticker.target = market_pair.target ticker.market = B2bx::Market::NAME ticker.last = NumericHelper.to_d(output['LastTradedPx'].to_f) ticker.bid = NumericHelper.to_d(output['BestBid']) ticker.ask = NumericHelper.to_d(output['BestOffer']) ticker.volume = NumericHelper.to_d(output['Rolling24HrVolume'].to_f) ticker. = output['TimeStamp'].to_i/1000 ticker.payload = output ticker end |
#adapt_all(output) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/cryptoexchange/exchanges/b2bx/services/market.rb', line 21 def adapt_all(output) output.map do |pair| symbol = pair['Instrument'] base, target = symbol.split(Cryptoexchange::Exchanges::B2bx::Market::SUPPORTED_PAIRS_REGEX) market_pair = Cryptoexchange::Models::MarketPair.new( base: base, target: target, market: B2bx::Market::NAME ) adapt(market_pair, pair) end end |
#fetch ⇒ Object
11 12 13 14 15 |
# File 'lib/cryptoexchange/exchanges/b2bx/services/market.rb', line 11 def fetch raw_output = HTTP.use(:auto_inflate).headers("Accept-Encoding" => "gzip").get(ticker_url) output = JSON.parse(raw_output) adapt_all(output) end |
#ticker_url ⇒ Object
17 18 19 |
# File 'lib/cryptoexchange/exchanges/b2bx/services/market.rb', line 17 def ticker_url "#{Cryptoexchange::Exchanges::B2bx::Market::API_URL}" end |