module HaasbotRuby::Api::Market

Public Instance Methods

get_all_price_sources() click to toggle source
# File lib/haasbot_ruby/api/market.rb, line 4
def get_all_price_sources
  path = '/GetAllPriceSources'

  get(path)
end
get_enabled_price_sources() click to toggle source
# File lib/haasbot_ruby/api/market.rb, line 10
def get_enabled_price_sources
  path = '/GetEnabledPriceSources'

  get(path)
end
get_history(priceSourceName:, primaryCoin:, secondaryCoin:, interval:, depth:, contractName: nil) click to toggle source
# File lib/haasbot_ruby/api/market.rb, line 64
def get_history(priceSourceName:, primaryCoin:, secondaryCoin:, interval:, depth:, contractName: nil)
  query = {
    priceSourceName: priceSourceName,
    primaryCoin: primaryCoin,
    secondaryCoin: secondaryCoin,
    interval: interval,
    depth: depth
  }

  query[:contractName] = contractName unless contractName.nil?

  get('/GetHistory', query)
end
get_last_trades(priceSourceName:, primaryCoin:, secondaryCoin:, contractName: nil) click to toggle source
# File lib/haasbot_ruby/api/market.rb, line 44
def get_last_trades(priceSourceName:, primaryCoin:, secondaryCoin:, contractName: nil)
  get_price_source_for_endpoint(
    endpoint: 'GetLastTrades',
    priceSourceName: priceSourceName,
    primaryCoin: primaryCoin,
    secondaryCoin: secondaryCoin,
    contractName: contractName
  )
end
get_minute_price_ticker(priceSourceName:, primaryCoin:, secondaryCoin:, contractName: nil) click to toggle source
# File lib/haasbot_ruby/api/market.rb, line 34
def get_minute_price_ticker(priceSourceName:, primaryCoin:, secondaryCoin:, contractName: nil)
  get_price_source_for_endpoint(
    endpoint: 'GetMinutePriceTicker',
    priceSourceName: priceSourceName,
    primaryCoin: primaryCoin,
    secondaryCoin: secondaryCoin,
    contractName: contractName
  )
end
get_orderbook(priceSourceName:, primaryCoin:, secondaryCoin:, contractName: nil) click to toggle source
# File lib/haasbot_ruby/api/market.rb, line 54
def get_orderbook(priceSourceName:, primaryCoin:, secondaryCoin:, contractName: nil)
  get_price_source_for_endpoint(
    endpoint: 'GetOrderbook',
    priceSourceName: priceSourceName,
    primaryCoin: primaryCoin,
    secondaryCoin: secondaryCoin,
    contractName: contractName
  )
end
get_price_markets(priceSourceName:) click to toggle source

HaasbotRuby::Client.new('127.0.0.1', 8050).get_price_markets(priceSourceName: 'Binance')

# File lib/haasbot_ruby/api/market.rb, line 17
def get_price_markets(priceSourceName:)
  query = { priceSourceName: priceSourceName }
  path = '/GetPriceMarkets'

  get(path, query)
end
get_price_ticker(priceSourceName:, primaryCoin:, secondaryCoin:, contractName: nil) click to toggle source
# File lib/haasbot_ruby/api/market.rb, line 24
def get_price_ticker(priceSourceName:, primaryCoin:, secondaryCoin:, contractName: nil)
  get_price_source_for_endpoint(
    endpoint: 'GetPriceTicker',
    priceSourceName: priceSourceName,
    primaryCoin: primaryCoin,
    secondaryCoin: secondaryCoin,
    contractName: contractName
  )
end

Private Instance Methods

get_price_source_for_endpoint(endpoint:, priceSourceName:, primaryCoin:, secondaryCoin:, contractName: nil) click to toggle source
# File lib/haasbot_ruby/api/market.rb, line 80
def get_price_source_for_endpoint(endpoint:, priceSourceName:, primaryCoin:, secondaryCoin:, contractName: nil)
  query = {
    priceSourceName: priceSourceName,
    primaryCoin: primaryCoin,
    secondaryCoin: secondaryCoin,
  }

  query[:contractName] = contractName unless contractName.nil?

  get("/#{endpoint}", query)
end