Class: Cryptoexchange::Exchanges::Coinhouse::Services::Pairs

Inherits:
Services::Pairs
  • Object
show all
Defined in:
lib/cryptoexchange/exchanges/coinhouse/services/pairs.rb

Constant Summary collapse

PAIRS_URL =
"#{Cryptoexchange::Exchanges::Coinhouse::Market::API_URL}/tickers"
TARGET =
'BTC'

Constants inherited from Services::Pairs

Services::Pairs::HTTP_METHOD, Services::Pairs::MARKET, Services::Pairs::POST_PARAMS

Instance Method Summary collapse

Methods inherited from Services::Pairs

#default_override_exist?, #default_override_path, #exchange_class, #fetch_via_api, #fetch_via_api_using_post, #fetch_via_override, #http_get, #http_post, #user_override_exist?, #user_override_path

Instance Method Details

#adapt(output) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/cryptoexchange/exchanges/coinhouse/services/pairs.rb', line 13

def adapt(output)
  market_pairs = []
  output.each_key do |pair|
    base, target = strip_pairs(pair)
    next unless base && target
    market_pairs << Cryptoexchange::Models::MarketPair.new(
      base:   base,
      target: target,
      market: Coinhouse::Market::NAME
    )
  end
  market_pairs
end

#fetchObject



8
9
10
11
# File 'lib/cryptoexchange/exchanges/coinhouse/services/pairs.rb', line 8

def fetch
  output = super
  adapt(output)
end

#strip_pairs(pair_symbol) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/cryptoexchange/exchanges/coinhouse/services/pairs.rb', line 27

def strip_pairs(pair_symbol)
  separator = /(USDT|BTC|BCH|ETH)\z/i =~ pair_symbol
  base      = pair_symbol[0..separator - 1]
  target    = pair_symbol[separator..-1]

  [base, target]
end