class Cryptsy::API::Client

Public Class Methods

new(key=nil, secret=nil) click to toggle source
# File lib/cryptsy/api.rb, line 62
def initialize(key=nil, secret=nil)
  @key = key
  @secret = secret
  @private_caller = nil
end

Public Instance Methods

allmyorders() click to toggle source
# File lib/cryptsy/api.rb, line 139
def allmyorders
  call_private_api("allmyorders", {})
end
allmytrades(startdate=nil,enddate=nil) click to toggle source
# File lib/cryptsy/api.rb, line 115
def allmytrades(startdate=nil,enddate=nil)
  params = {}

  if !startdate.nil?
    if startdate.is_a?(Date)
      startdate = startdate.strftime("%Y-%m-%d")
    end
    params[:startdate] = startdate
  end

  if !enddate.nil?
    if enddate.is_a?(Date)
      enddate = enddate.strftime("%Y-%m-%d")
    end
    params[:enddate] = enddate
  end

  call_private_api("allmytrades", params)
end
calculatefees(ordertype, quantity, price) click to toggle source
# File lib/cryptsy/api.rb, line 163
def calculatefees(ordertype, quantity, price)
  call_private_api("calculatefees",
                   {ordertype: ordertype,
                    quantity: quantity,
                    price: price})
end
cancelallorders() click to toggle source
# File lib/cryptsy/api.rb, line 159
def cancelallorders
  call_private_api("cancelallorders", {})
end
cancelmarketorders(marketid) click to toggle source
# File lib/cryptsy/api.rb, line 155
def cancelmarketorders(marketid)
  call_private_api("cancelmarketorders", {marketid: marketid})
end
cancelorder(orderid) click to toggle source
# File lib/cryptsy/api.rb, line 151
def cancelorder(orderid)
  call_private_api("cancelorder", {orderid: orderid})
end
createorder(marketid, ordertype, quantity, price) click to toggle source
# File lib/cryptsy/api.rb, line 143
def createorder(marketid, ordertype, quantity, price)
  call_private_api("createorder",
                   {marketid: marketid,
                    ordertype: ordertype,
                    quantity: quantity,
                    price: price})
end
depth(marketid) click to toggle source
# File lib/cryptsy/api.rb, line 105
def depth(marketid)
  call_private_api("depth", {marketid: marketid})
end
generatenewaddress(currency) click to toggle source
# File lib/cryptsy/api.rb, line 170
def generatenewaddress(currency)
  # if integer - it is currency id
  if currency.is_a? Integer or !!(currency =~ /^[-+]?[0-9]+$/)  then
    call_private_api("generatenewaddress", {currencyid: currency})
  else
    call_private_api("generatenewaddress", {currencycode: currency})
  end
end
getinfo() click to toggle source

Private APIs

# File lib/cryptsy/api.rb, line 81
def getinfo
  call_private_api("getinfo", {})
end
getmarkets() click to toggle source
# File lib/cryptsy/api.rb, line 85
def getmarkets
  call_private_api("getmarkets", {})
end
getmydepositaddresses() click to toggle source
# File lib/cryptsy/api.rb, line 187
def getmydepositaddresses
  call_private_api("getmydepositaddresses", {})
end
getorderstatus(orderid) click to toggle source
# File lib/cryptsy/api.rb, line 191
def getorderstatus(orderid)
  call_private_api("getorderstatus", {orderid: orderid})
end
getwalletstatus() click to toggle source
# File lib/cryptsy/api.rb, line 89
def getwalletstatus
  call_private_api("getwalletstatus", {})
end
makewithdrawal(address, amount) click to toggle source
# File lib/cryptsy/api.rb, line 183
def makewithdrawal(address, amount)
  call_private_api("makewithdrawal", {address: address, amount: amount})
end
marketdata(marketid=nil) click to toggle source

We don't bother to support deprecated v1 api

# File lib/cryptsy/api.rb, line 71
def marketdata(marketid=nil)
  call_public_api("marketdatav2", "singlemarketdata", marketid)
end
marketorders(marketid) click to toggle source
# File lib/cryptsy/api.rb, line 101
def marketorders(marketid)
  call_private_api("marketorders", {marketid: marketid})
end
markettrades(marketid) click to toggle source
# File lib/cryptsy/api.rb, line 97
def markettrades(marketid)
  call_private_api("markettrades", {marketid: marketid})
end
myorders(marketid) click to toggle source
# File lib/cryptsy/api.rb, line 135
def myorders(marketid)
  call_private_api("myorders", {marketid: marketid})
end
mytrades(marketid, limit=nil) click to toggle source
# File lib/cryptsy/api.rb, line 109
def mytrades(marketid, limit=nil)
  params = {marketid: marketid}
  params.merge({limit: limit}) if limit
  call_private_api("mytrades", params)
end
mytransactions() click to toggle source
# File lib/cryptsy/api.rb, line 93
def mytransactions
  call_private_api("mytransactions", {})
end
mytransfers() click to toggle source
# File lib/cryptsy/api.rb, line 179
def mytransfers
  call_private_api("mytransfers", {})
end
orderdata(marketid=nil) click to toggle source
# File lib/cryptsy/api.rb, line 75
def orderdata(marketid=nil)
  call_public_api("orderdata", "singleorderdata", marketid)
end

Private Instance Methods

call_private_api(method_name, params={}) click to toggle source
# File lib/cryptsy/api.rb, line 200
def call_private_api(method_name, params={})
  if @private_caller.nil? || @private_caller.auth_changed?(@key, @secret)
    @private_caller = Cryptsy::API::PrivateMethod.new(@key,@secret)
  end
  @private_caller.execute_method(method_name, params)
end
call_public_api(all_markets, single_market, marketid=nil) click to toggle source
# File lib/cryptsy/api.rb, line 196
def call_public_api(all_markets, single_market, marketid=nil)
  Cryptsy::API::PublicMethod.new.execute_method(all_markets, single_market, marketid)
end