class BinanceAPI::Base

Constants

BASE_URL

Attributes

api_key[W]
api_secret[W]

Public Class Methods

new(options: {}) click to toggle source
# File lib/binance_api/base.rb, line 11
def initialize(options: {})
  @api_key = options.fetch(:api_key, nil)
  @api_secret = options.fetch(:api_secret, nil)
end

Public Instance Methods

api_key() click to toggle source
# File lib/binance_api/base.rb, line 18
def api_key
  @api_key || BinanceAPI.api_key || raise('missing api_key')
end
api_secret() click to toggle source
# File lib/binance_api/base.rb, line 22
def api_secret
  @api_secret || BinanceAPI.api_secret || raise('missing api_secret')
end

Protected Instance Methods

params_with_signature(params, secret) click to toggle source
# File lib/binance_api/base.rb, line 28
def params_with_signature(params, secret)
  params = params.reject { |_k, v| v.nil? }
  query_string = URI.encode_www_form(params)
  signature = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), secret, query_string)
  params = params.merge(signature: signature)
end
safe() { || ... } click to toggle source

ensure to return a response object

# File lib/binance_api/base.rb, line 36
def safe
  yield
rescue RestClient::ExceptionWithResponse => err
  return err.response
end