Module: Honeymaker

Defined in:
lib/honeymaker.rb,
lib/honeymaker/utils.rb,
lib/honeymaker/client.rb,
lib/honeymaker/result.rb,
lib/honeymaker/version.rb,
lib/honeymaker/exchange.rb,
lib/honeymaker/clients/mexc.rb,
lib/honeymaker/clients/bingx.rb,
lib/honeymaker/clients/bybit.rb,
lib/honeymaker/clients/bitget.rb,
lib/honeymaker/clients/bitrue.rb,
lib/honeymaker/clients/gemini.rb,
lib/honeymaker/clients/kraken.rb,
lib/honeymaker/clients/kucoin.rb,
lib/honeymaker/exchanges/mexc.rb,
lib/honeymaker/clients/binance.rb,
lib/honeymaker/clients/bitmart.rb,
lib/honeymaker/clients/bitvavo.rb,
lib/honeymaker/exchanges/bingx.rb,
lib/honeymaker/exchanges/bybit.rb,
lib/honeymaker/clients/coinbase.rb,
lib/honeymaker/exchanges/bitget.rb,
lib/honeymaker/exchanges/bitrue.rb,
lib/honeymaker/exchanges/gemini.rb,
lib/honeymaker/exchanges/kraken.rb,
lib/honeymaker/exchanges/kucoin.rb,
lib/honeymaker/exchanges/binance.rb,
lib/honeymaker/exchanges/bitmart.rb,
lib/honeymaker/exchanges/bitvavo.rb,
lib/honeymaker/clients/binance_us.rb,
lib/honeymaker/exchanges/coinbase.rb,
lib/honeymaker/clients/hyperliquid.rb,
lib/honeymaker/exchanges/binance_us.rb,
lib/honeymaker/exchanges/hyperliquid.rb,
lib/honeymaker/clients/kraken_futures.rb

Defined Under Namespace

Modules: Clients, Exchanges, Utils Classes: Client, Error, Exchange, Result

Constant Summary collapse

EXCHANGES =
{
  "binance" => Exchanges::Binance,
  "binance_us" => Exchanges::BinanceUs,
  "kraken" => Exchanges::Kraken,
  "coinbase" => Exchanges::Coinbase,
  "mexc" => Exchanges::Mexc,
  "gemini" => Exchanges::Gemini,
  "bitvavo" => Exchanges::Bitvavo,
  "bitget" => Exchanges::Bitget,
  "bybit" => Exchanges::Bybit,
  "kucoin" => Exchanges::Kucoin,
  "hyperliquid" => Exchanges::Hyperliquid,
  "bingx" => Exchanges::BingX,
  "bitrue" => Exchanges::Bitrue,
  "bitmart" => Exchanges::BitMart
}.freeze
CLIENTS =
{
  "binance" => Clients::Binance,
  "binance_us" => Clients::BinanceUs,
  "kraken" => Clients::Kraken,
  "coinbase" => Clients::Coinbase,
  "bybit" => Clients::Bybit,
  "mexc" => Clients::Mexc,
  "bitget" => Clients::Bitget,
  "kucoin" => Clients::Kucoin,
  "bitvavo" => Clients::Bitvavo,
  "gemini" => Clients::Gemini,
  "bingx" => Clients::BingX,
  "bitrue" => Clients::Bitrue,
  "bitmart" => Clients::BitMart,
  "hyperliquid" => Clients::Hyperliquid,
  "kraken_futures" => Clients::KrakenFutures
}.freeze
VERSION =
"0.8.0"

Class Method Summary collapse

Class Method Details

.client(name, **kwargs) ⇒ Object

Raises:



86
87
88
89
90
# File 'lib/honeymaker.rb', line 86

def self.client(name, **kwargs)
  klass = CLIENTS[name.to_s]
  raise Error, "Unknown exchange: #{name}" unless klass
  klass.new(**kwargs)
end

.exchange(name) ⇒ Object

Raises:



80
81
82
83
84
# File 'lib/honeymaker.rb', line 80

def self.exchange(name)
  klass = EXCHANGES[name.to_s]
  raise Error, "Unknown exchange: #{name}" unless klass
  klass.new
end