class Cryptsy::API::PrivateMethod

Public Class Methods

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

Public Instance Methods

auth_changed?(key, secret) click to toggle source
# File lib/cryptsy/api.rb, line 45
def auth_changed?(key, secret)
  return @key == key && @secret == secret
end
execute_method(method_name, params) click to toggle source
# File lib/cryptsy/api.rb, line 32
def execute_method(method_name, params)
  post_data = {method: method_name, nonce: nonce}.merge(params)
  post_body = URI.encode_www_form(post_data)

  response = self.class.post("/api",
                     headers: { "User-Agent" => "Mozilla/4.0 (compatible; Cryptsy API ruby client)",
                              "Sign" => signed_message(post_body),
                              "Key" => @key,
                     },
                     body: post_data)
  JSON.parse(response.body)
end

Private Instance Methods

nonce() click to toggle source
# File lib/cryptsy/api.rb, line 51
def nonce
  Time.now.to_i
end
signed_message(msg) click to toggle source
# File lib/cryptsy/api.rb, line 55
def signed_message(msg)
  OpenSSL::HMAC.hexdigest('sha512', @secret, msg)
end