class Devilicious::Market::Kraken

Public Instance Methods

fiat_currency() click to toggle source
# File lib/devilicious/markets/kraken.rb, line 6
def fiat_currency
  "EUR"
end
refresh_order_book!() click to toggle source
# File lib/devilicious/markets/kraken.rb, line 14
def refresh_order_book!
  json = get_json("https://api.kraken.com/0/public/Depth?pair=XBT#{fiat_currency}") or return

  asks = format_asks_bids(json["result"]["XXBTZ#{fiat_currency}"]["asks"])
  bids = format_asks_bids(json["result"]["XXBTZ#{fiat_currency}"]["bids"])

  mark_as_refreshed
  @order_book = OrderBook.new(asks: asks, bids: bids)
end
trade_fee() click to toggle source
# File lib/devilicious/markets/kraken.rb, line 10
def trade_fee
  BigDecimal.new("0.0035").freeze # 0.35%
end

Private Instance Methods

format_asks_bids(json) click to toggle source
# File lib/devilicious/markets/kraken.rb, line 25
def format_asks_bids(json)
  json.map do |price, volume|
    Offer.new(
      price: Money.new(price, fiat_currency),
      volume: volume
    ).freeze
  end
end