class ShapeShiftRuby::Client

Constants

API_URL

Public Instance Methods

cancel_pending(address:) click to toggle source
# File lib/shapeshift_ruby/client.rb, line 80
def cancel_pending(address:)
  api_request(url: url('cancelpending'), method: 'post', params: { address: address })
end
coins() click to toggle source
# File lib/shapeshift_ruby/client.rb, line 34
def coins
  api_request(url: url('getcoins'), method: 'get')
end
fixed_amount_transaction(withdrawal:, pair:, amount:, return_address: '', dest_tag: '', rs_address: '', api_key: '') click to toggle source
# File lib/shapeshift_ruby/client.rb, line 68
def fixed_amount_transaction(withdrawal:, pair:, amount:, return_address: '', dest_tag: '', rs_address: '', api_key: '')
  api_request(url: url('sendamount'), method: 'post', params: {
      amount: amount,
      pair: pair,
      withdrawal: withdrawal,
      returnAddress: return_address,
      destTag: dest_tag,
      rsAddress: rs_address,
      apiKey: api_key
  })
end
limit(pair:) click to toggle source
# File lib/shapeshift_ruby/client.rb, line 14
def limit(pair:)
  api_request(url: url("limit/#{pair}"), method: 'get')
end
mail(email:, transaction_id:) click to toggle source
# File lib/shapeshift_ruby/client.rb, line 64
def mail(email:, transaction_id:)
  api_request(url: url('mail'), method: 'post', params: { email: email, txid: transaction_id })
end
market_info(pair:) click to toggle source
# File lib/shapeshift_ruby/client.rb, line 18
def market_info(pair:)
  api_request(url: url("marketinfo/#{pair}"), method: 'get')
end
rate(pair:) click to toggle source

GET Requests

# File lib/shapeshift_ruby/client.rb, line 10
def rate(pair:)
  api_request(url: url("rate/#{pair}"), method: 'get')
end
recent_transactions(max:) click to toggle source
# File lib/shapeshift_ruby/client.rb, line 22
def recent_transactions(max:)
  api_request(url: url("recenttx/#{max}"), method: 'get')
end
shift(withdrawal:, pair:, return_address: '', dest_tag: '', rs_address: '', api_key: '') click to toggle source

Post requests

# File lib/shapeshift_ruby/client.rb, line 52
def shift(withdrawal:, pair:, return_address: '', dest_tag: '', rs_address: '', api_key: '')
  api_request(url: url('shift'), method: 'post', params: {
      pair: pair,
      withdrawal: withdrawal,
      returnAddress: return_address,
      destTag: dest_tag,
      rsAddress: rs_address,
      apiKey: api_key
  })
end
time_remaining(deposit_address:) click to toggle source
# File lib/shapeshift_ruby/client.rb, line 30
def time_remaining(deposit_address:)
  api_request(url: url("timeremaining/#{deposit_address}"), method: 'get')
end
transaction_by_address(address, api_key:) click to toggle source
# File lib/shapeshift_ruby/client.rb, line 46
def transaction_by_address(address, api_key:)
  api_request(url: url("txbyaddress/#{address}/#{api_key}"), method: 'get')
end
transaction_by_api_key(api_key:) click to toggle source
# File lib/shapeshift_ruby/client.rb, line 42
def transaction_by_api_key(api_key:)
  api_request(url: url("txbyapikey/#{api_key}"), method: 'get')
end
transaction_status(deposit_address:) click to toggle source
# File lib/shapeshift_ruby/client.rb, line 26
def transaction_status(deposit_address:)
  api_request(url: url("txStat/#{deposit_address}"), method: 'get')
end
validate_address(address:, coin_symbol:) click to toggle source
# File lib/shapeshift_ruby/client.rb, line 38
def validate_address(address:, coin_symbol:)
  api_request(url: url("validateAddress/#{address}/#{coin_symbol}"), method: 'get')
end

Private Instance Methods

api_request(url:, method:, params: {}) click to toggle source
# File lib/shapeshift_ruby/client.rb, line 90
def api_request(url:, method:, params: {})
  data = RestClient::Request.execute(
      method: method,
      url: url,
      payload: params,
  )
  JSON.parse(data)
end
url(path) click to toggle source
# File lib/shapeshift_ruby/client.rb, line 86
def url(path)
  "#{API_URL}/#{path}"
end