Class: Cns::Apice
- Inherits:
-
Object
- Object
- Cns::Apice
- Defined in:
- lib/cns/apice.rb
Overview
classe para acesso dados centralized exchanges
Constant Summary collapse
- API =
{de: 'https://api.bitcoin.de/v4', us: 'https://api.kraken.com/0/private'}.freeze
Instance Method Summary collapse
-
#account_de ⇒ Hash
Get account balances from Bitcoin.de.
-
#account_us ⇒ Hash
Get account balances from Kraken.
-
#deposits_de ⇒ Array<Hash>
Get deposits from Bitcoin.de, uniformly formatted.
-
#initialize ⇒ Apice
constructor
A new instance of Apice.
-
#ledger_us ⇒ Hash
Get ledger from Kraken.
-
#trades_de ⇒ Array<Hash>
Get trades from Bitcoin.de.
-
#trades_us ⇒ Hash
Get trades from Kraken.
-
#withdrawals_de ⇒ Array<Hash>
Get withdrawals from Bitcoin.de, uniformly formatted.
Constructor Details
#initialize ⇒ Apice
Returns a new instance of Apice.
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/cns/apice.rb', line 14 def initialize @curl = Curl::Easy.new.tap do |c| c.timeout = 30 c.connect_timeout = 10 c.follow_location = true c.ssl_verify_peer = true end @deky = ENV.fetch('BITCOINDE_API_KEY', nil) @desc = ENV.fetch('BITCOINDE_API_SECRET', nil) @usky = ENV.fetch('KRAKEN_API_KEY', nil) @ussc = ENV.fetch('KRAKEN_API_SECRET', nil) end |
Instance Method Details
#account_de ⇒ Hash
Get account balances from Bitcoin.de
30 31 32 33 34 35 36 |
# File 'lib/cns/apice.rb', line 30 def account_de uri = "#{API[:de]}/account" rcrl(@curl, uri, headers: hde(uri)) pjsn(@curl).dig(:data, :balances) || {} rescue Curl::Err::CurlError {} end |
#account_us ⇒ Hash
Get account balances from Kraken
64 65 66 67 68 69 70 71 |
# File 'lib/cns/apice.rb', line 64 def account_us uri = 'Balance' ops = {nonce: nnc} rcrl(@curl, "#{API[:us]}/#{uri}", method: 'POST', post_data: ops, headers: hus(uri, ops)) pjsn(@curl).fetch(:result, {}) rescue Curl::Err::CurlError {} end |
#deposits_de ⇒ Array<Hash>
Get deposits from Bitcoin.de, uniformly formatted
48 49 50 51 52 |
# File 'lib/cns/apice.rb', line 48 def deposits_de pag_de_req("#{API[:de]}/btc/deposits", {state: 2}, :deposits) { |i| i.map { |h| deposit_unif(h) } } rescue Curl::Err::CurlError [] end |
#ledger_us ⇒ Hash
Get ledger from Kraken
83 84 85 86 87 |
# File 'lib/cns/apice.rb', line 83 def ledger_us pag_us_req('Ledgers', :ledger) rescue Curl::Err::CurlError [] end |
#trades_de ⇒ Array<Hash>
Get trades from Bitcoin.de
40 41 42 43 44 |
# File 'lib/cns/apice.rb', line 40 def trades_de pag_de_req("#{API[:de]}/trades", {state: 1}, :trades) rescue Curl::Err::CurlError [] end |
#trades_us ⇒ Hash
Get trades from Kraken
75 76 77 78 79 |
# File 'lib/cns/apice.rb', line 75 def trades_us pag_us_req('TradesHistory', :trades) rescue Curl::Err::CurlError [] end |
#withdrawals_de ⇒ Array<Hash>
Get withdrawals from Bitcoin.de, uniformly formatted
56 57 58 59 60 |
# File 'lib/cns/apice.rb', line 56 def withdrawals_de pag_de_req("#{API[:de]}/btc/withdrawals", {state: 1}, :withdrawals) { |i| i.map { |h| withdrawal_unif(h) } } rescue Curl::Err::CurlError [] end |