class CoinsPhRuby::CoinsPhService

Public Class Methods

new(api_key, api_secret) click to toggle source
# File lib/coins_ph_ruby.rb, line 7
def initialize(api_key, api_secret)
  @api_key = api_key
  @api_secret = api_secret
  @base_url = 'https://coins.ph/api/v3'
end

Public Instance Methods

get_crypto_accounts(_currency = nil) click to toggle source
# File lib/coins_ph_ruby.rb, line 13
def get_crypto_accounts(_currency = nil)
  nonce = Hmac.get_nonce
  url = @base_url + '/crypto-accounts/'
  signature = Hmac.sign_request(@api_secret, url, nonce)
  RestClient.get(url, content_type: :json,
                      accept: :json,
                      ACCESS_SIGNATURE: signature,
                      ACCESS_KEY: @api_key,
                      ACCESS_NONCE: nonce)
end
get_transfers(_id = nil) click to toggle source
# File lib/coins_ph_ruby.rb, line 24
def get_transfers(_id = nil)
  nonce = Hmac.get_nonce
  url = @base_url + '/transfers/'
  signature = Hmac.sign_request(@api_secret, url, nonce)
  RestClient.get(url, content_type: :json,
                      accept: :json,
                      ACCESS_SIGNATURE: signature,
                      ACCESS_KEY: @api_key,
                      ACCESS_NONCE: nonce)
end
transfer(amount, account, target_address, message = nil) click to toggle source
# File lib/coins_ph_ruby.rb, line 35
def transfer(amount, account, target_address, message = nil)
  body = build_transfer_body(account, amount, message, target_address)
  nonce = Hmac.get_nonce
  url = @base_url + '/transfers/'
  signature = Hmac.sign_request(@api_secret, url,
                                nonce, body)
  RestClient.post(url, body, content_type: :json,
                             accept: :json,
                             ACCESS_SIGNATURE: signature,
                             ACCESS_KEY: @api_key,
                             ACCESS_NONCE: nonce)
end

Private Instance Methods

build_transfer_body(account, amount, message, target_address) click to toggle source
# File lib/coins_ph_ruby.rb, line 50
def build_transfer_body(account, amount, message, target_address)
  body = {
    target_address: target_address,
    account: account,
    amount: amount
  }
  body[:message] = message unless message.nil?
  body.to_json.gsub(/\s+/, '')
end