Class: CoinSync::Importers::BittrexAPI
- Inherits:
-
Base
- Object
- Base
- CoinSync::Importers::BittrexAPI
show all
- Defined in:
- lib/coinsync/importers/bittrex_api.rb
Constant Summary
collapse
- BASE_URL =
"https://bittrex.com/api/v1.1"
Instance Method Summary
collapse
Methods inherited from Base
register_commands, register_importer, registered_commands
Constructor Details
#initialize(config, params = {}) ⇒ BittrexAPI
Returns a new instance of BittrexAPI.
19
20
21
22
23
24
25
|
# File 'lib/coinsync/importers/bittrex_api.rb', line 19
def initialize(config, params = {})
super
@api_key = params['api_key']
@api_secret = params['api_secret']
end
|
Instance Method Details
#can_build? ⇒ Boolean
31
32
33
|
# File 'lib/coinsync/importers/bittrex_api.rb', line 31
def can_build?
false
end
|
#can_import?(type) ⇒ Boolean
27
28
29
|
# File 'lib/coinsync/importers/bittrex_api.rb', line 27
def can_import?(type)
@api_key && @api_secret && [:balances].include?(type)
end
|
#import_balances ⇒ Object
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/coinsync/importers/bittrex_api.rb', line 35
def import_balances
response = make_request('/account/getbalances')
case response
when Net::HTTPSuccess
json = JSON.parse(response.body)
if json['success'] != true || !json['result']
raise "Bittrex importer: Invalid response: #{response.body}"
end
return json['result'].select { |b|
b['Balance'] > 0
}.map { |b|
Balance.new(
CryptoCurrency.new(b['Currency']),
available: BigDecimal.new(b['Available'], 0),
locked: BigDecimal.new(b['Balance'], 0) - BigDecimal.new(b['Available'], 0)
)
}
when Net::HTTPBadRequest
raise "Bittrex importer: Bad request: #{response}"
else
raise "Bittrex importer: Bad response: #{response}"
end
end
|