Sha256: 1184d758a21159c93dc469048e8df5fd28f0b8575c4c2b7b92c7563d2560185c
Contents?: true
Size: 1.14 KB
Versions: 4
Compression:
Stored size: 1.14 KB
Contents
require_relative 'net' require_relative 'mapper' require 'bigdecimal/util' module Bitstampede class Client attr_accessor :key attr_accessor :secret def initialize(key = nil, secret = nil) @key = key @secret = secret end def balance mapper.map_balance(net.post("balance")) end def orders mapper.map_orders(net.post("open_orders")) end def buy!(amount, price) trade!("buy", amount, price) end def sell!(amount, price) trade!("sell", amount, price) end def cancel(id) wrapping_standard_error do mapper.map_cancel(net.post("cancel_order", { id: id.to_s })) end end private def net @net ||= Net.new(self) end def mapper @mapper ||= Mapper.new end def trade!(type, amount, price) wrapping_standard_error do mapper.map_order(net.post(type, { price: price.to_digits, amount: amount.to_digits })) end end def wrapping_standard_error &block begin yield rescue ::StandardError => e raise Bitstampede::StandardError.new(e.message) end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
bitstampede-0.1.9 | lib/bitstampede/client.rb |
bitstampede-0.1.8 | lib/bitstampede/client.rb |
bitstampede-0.1.7 | lib/bitstampede/client.rb |
bitstampede-0.1.6 | lib/bitstampede/client.rb |