class Devilicious::Market::BitNz

Public Instance Methods

fiat_currency() click to toggle source

NOTE: bitnz.com/

# File lib/devilicious/markets/bit_nz.rb, line 8
def fiat_currency
  "NZD"
end
refresh_order_book!() click to toggle source
# File lib/devilicious/markets/bit_nz.rb, line 16
def refresh_order_book!
  json = get_json("https://bitnz.com/api/0/orderbook") or return

  asks = format_asks_bids(json["asks"])
  bids = format_asks_bids(json["bids"])

  mark_as_refreshed
  @order_book = OrderBook.new(asks: asks, bids: bids)
end
trade_fee() click to toggle source
# File lib/devilicious/markets/bit_nz.rb, line 12
def trade_fee
  BigDecimal.new("0.005").freeze # 0.5% - see https://bitnz.com/fees
end

Private Instance Methods

format_asks_bids(json) click to toggle source
# File lib/devilicious/markets/bit_nz.rb, line 28
def format_asks_bids(json)
  json.map do |price, volume|
    price_nzd = Money.new(price.to_s, fiat_currency)
    price_normalized = price_nzd.exchange_to(Devilicious.config.default_fiat_currency)

    Offer.new(
      price: price_normalized,
      volume: volume.to_s
    ).freeze
  end
end