class Cryptoexchange::Exchanges::RadarRelay::Services::Market

Public Class Methods

supports_individual_ticker_query?() click to toggle source
# File lib/cryptoexchange/exchanges/radar_relay/services/market.rb, line 6
def supports_individual_ticker_query?
  false
end

Public Instance Methods

adapt(market_pair, ticker_output, stats_output) click to toggle source
# File lib/cryptoexchange/exchanges/radar_relay/services/market.rb, line 37
def adapt(market_pair, ticker_output, stats_output)
  ticker = Cryptoexchange::Models::Ticker.new

  ticker.base      = market_pair.base
  ticker.target    = market_pair.target
  ticker.market    = RadarRelay::Market::NAME
  ticker.bid       = NumericHelper.to_d(ticker_output['bestBid'])
  ticker.ask       = NumericHelper.to_d(ticker_output['bestAsk'])
  ticker.last      = NumericHelper.to_d(ticker_output['price'])
  vol = NumericHelper.to_d(stats_output['volume24Hour'])
  ticker.volume    = (vol.nil? || vol == "") ? 0 : NumericHelper.divide(vol, ticker.last)
  ticker.change    = NumericHelper.to_d(stats_output['percentChange24Hour'])
  ticker.timestamp = nil
  ticker.payload   = [ticker_output, stats_output]
  ticker
end
adapt_all(output) click to toggle source
# File lib/cryptoexchange/exchanges/radar_relay/services/market.rb, line 25
def adapt_all(output)
  output.map do |pair_ticker|
    base, target = pair_ticker["id"].split("-")
    market_pair = Cryptoexchange::Models::MarketPair.new(
      base:   base,
      target: target,
      market: RadarRelay::Market::NAME
    )
    adapt(market_pair, pair_ticker["ticker"], pair_ticker["stats"])
  end
end
fetch() click to toggle source
Calls superclass method Cryptoexchange::Services::Market#fetch
# File lib/cryptoexchange/exchanges/radar_relay/services/market.rb, line 11
def fetch
  outputs = []
  (1..25).each do |page_id|
    ticker_output = super(ticker_url(page_id))
    break if ticker_output.empty?
    outputs = outputs + ticker_output
  end
  adapt_all(outputs)
end
ticker_url(page_id) click to toggle source
# File lib/cryptoexchange/exchanges/radar_relay/services/market.rb, line 21
def ticker_url(page_id)
  "#{Cryptoexchange::Exchanges::RadarRelay::Market::API_URL}/markets?include=base,stats,ticker&page=#{page_id}&perPage=100"
end