Module: Cryptopia::Api::Private
- Included in:
- Base
- Defined in:
- lib/cryptopia/api/private.rb
Constant Summary collapse
- ENDPOINT =
'https://www.cryptopia.co.nz/Api'
- AVAILABLE_PARAMS =
{ balance: [:Currency, :CurrencyId], deposit_address: [:Currency, :CurrencyId], open_orders: [:Market, :TradePairId], trade_history: [:Market, :TradePairId], transactions: [:Type], submit_trade: [:Market, :TradePairId], cancel_trade: [:OrderId, :TradeId] }
- OPTIONAL_PARAMS =
{ open_orders: [:Count] }
- EXACT_PARAMS =
{ submit_trade: [:Type, :Rate, :Amount], cancel_trade: [:Type] }
Instance Method Summary collapse
- #balance(options = {}) ⇒ Object
- #cancel_trade(options = {}) ⇒ Object
- #deposit_address(options = {}) ⇒ Object
- #initialize(api_key = nil, api_secret = nil) ⇒ Object
- #open_orders(options = {}) ⇒ Object
- #submit_trade(options = {}) ⇒ Object
- #trade_history(options = {}) ⇒ Object
- #transactions(options = {}) ⇒ Object
Instance Method Details
#balance(options = {}) ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/cryptopia/api/private.rb', line 35 def balance( = {}) for_uri(Private::ENDPOINT) do if invalid_params?(:balance, ) raise ArgumentError, "Arguments must be #{params(:balance)}" end handle_response(auth_post('/GetBalance', )) end end |
#cancel_trade(options = {}) ⇒ Object
99 100 101 102 103 104 105 106 107 |
# File 'lib/cryptopia/api/private.rb', line 99 def cancel_trade( = {}) for_uri(Private::ENDPOINT) do if invalid_params?(:cancel_trade, , true) raise ArgumentError, "Arguments must be #{params(:cancel_trade)}" end handle_response(auth_post('/CancelTrade', )) end end |
#deposit_address(options = {}) ⇒ Object
45 46 47 48 49 50 51 52 53 |
# File 'lib/cryptopia/api/private.rb', line 45 def deposit_address( = {}) for_uri(Private::ENDPOINT) do if invalid_params?(:deposit_address, ) raise ArgumentError, "Arguments must be #{params(:deposit_address)}" end handle_response(auth_post('/GetDepositAddress', )) end end |
#initialize(api_key = nil, api_secret = nil) ⇒ Object
30 31 32 33 |
# File 'lib/cryptopia/api/private.rb', line 30 def initialize(api_key = nil, api_secret = nil) @api_key = api_key @api_secret = api_secret end |
#open_orders(options = {}) ⇒ Object
55 56 57 58 59 60 61 62 63 |
# File 'lib/cryptopia/api/private.rb', line 55 def open_orders( = {}) for_uri(Private::ENDPOINT) do if invalid_params?(:deposit_address, ) raise ArgumentError, "Arguments must be #{params(:deposit_address)}" end handle_response(auth_post('/GetOpenOrders', )) end end |
#submit_trade(options = {}) ⇒ Object
89 90 91 92 93 94 95 96 97 |
# File 'lib/cryptopia/api/private.rb', line 89 def submit_trade( = {}) for_uri(Private::ENDPOINT) do if invalid_params?(:submit_trade, , true) raise ArgumentError, "Arguments must be #{params(:submit_trade)}" end handle_response(auth_post('/SubmitTrade', )) end end |
#trade_history(options = {}) ⇒ Object
65 66 67 68 69 70 71 72 73 |
# File 'lib/cryptopia/api/private.rb', line 65 def trade_history( = {}) for_uri(Private::ENDPOINT) do if invalid_params?(:trade_history, ) raise ArgumentError, "Arguments must be #{params(:trade_history)}" end handle_response(auth_post('/GetTradeHistory', )) end end |
#transactions(options = {}) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/cryptopia/api/private.rb', line 75 def transactions( = {}) for_uri(Private::ENDPOINT) do if invalid_params?(:transactions, ) raise ArgumentError, "Arguments must be #{params(:transactions)}" end if invalid_transaction_type?() raise ArgumentError, "Type must be 'Deposit' or 'Withdraw'" end handle_response(auth_post('/GetTransactions', )) end end |