bitfex 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a830e2f527b5de4456a1469cfc9bee9f36f8c8e1b8498dbbd8600dd485af5e35
4
- data.tar.gz: 204ae8dc2394a689920f29b2fedd7c33662661de5f43d4bbb2eba8689677e6b1
3
+ metadata.gz: ac2f06a3a9254389e0bb5d7c8999270f7e8f36bc017876864483d2afe210e34b
4
+ data.tar.gz: 86bbdded35e3c2f878f92b202bd8d59a9578e3043c10b446e5314a8fe4ab4d41
5
5
  SHA512:
6
- metadata.gz: b1a3ffa111c05e0a68832aaa77e858b90e653e83f3229ab9cccd07ad8407284bdb5fab264aba258273653e85dbcb26b3c2298444f32a40b0c60b3427c8644c64
7
- data.tar.gz: 614f6d40384b812c38c2bca832243dd8d35d46826a057000315e3eb92fbc45708d3c593c3d492743dab99fbaf1b578d2062bc932f8db94b0de7d3e63652f9866
6
+ metadata.gz: ab8d0a9e9dfdebe36f07cea6e25b2b5f9571d3765a6acaa8af059b530e45f9ecf1fbef8f80ce30b0db8ac13c6e5cfcf6ac0f7194b9f20327be95ea5a19da5dd9
7
+ data.tar.gz: 41c9f32e4186011830bc88248cd8c41e9b1d5b5ebd9444a1a81620331a00975dfe67a62e00afa4698444471689d0991d819642a32cb2c3b8e0c251e59d0a46b2
@@ -7,9 +7,9 @@ module Bitfex
7
7
 
8
8
  # @param server_url [String] URL of the main server
9
9
  # @param auth_server_url [String] URL of the auth server
10
- def initialize(server_url: 'https://bitfex.trade', auth_server_url: 'https://auth.bitfex.trade')
10
+ def initialize(token: nil, server_url: 'https://bitfex.trade')
11
+ @token = token
11
12
  @_server_url = server_url
12
- @_auth_server_url = auth_server_url
13
13
  end
14
14
 
15
15
  # @return [String] server url
@@ -17,35 +17,17 @@ module Bitfex
17
17
  @_server_url
18
18
  end
19
19
 
20
- # @return [String] auth server url
21
- def auth_server_url
22
- @_auth_server_url
23
- end
24
-
25
20
  # @param url [String] set URL of the server
26
21
  def server_url=(url)
27
22
  @_server_url = url
28
23
  end
29
24
 
30
- # @param url [String] set URL of the auth server
31
- def auth_server_url=(url)
32
- @_auth_server_url = url
33
- end
34
-
35
- # Get token for API operations
36
- # @param email [String] email
37
- # @param password [String] password
38
- def auth(email, password)
39
- body = request_post('/auth', auth: { email: email, password: password })
40
- return @token = body['jwt'] if body['jwt']
41
- raise AuthError.new
42
- end
43
-
44
25
  # Return account balances
45
26
  # @return [Hash<String, Fixnum>] balances
46
27
  def balances
47
28
  response = request_get('/api/v1/user')
48
29
  raise ApiError.new(response['errors'].to_json) unless response['success']
30
+
49
31
  response['balances']
50
32
  end
51
33
 
@@ -112,16 +94,17 @@ module Bitfex
112
94
  end
113
95
 
114
96
  def request(endpoint, klass, body = nil)
115
- url = (body && body.has_key?(:auth) ? @_auth_server_url : @_server_url) + endpoint
97
+ url = @_server_url + endpoint
116
98
  uri = URI.parse(url)
117
99
  http = Net::HTTP.new(uri.host, uri.port)
118
100
  http.use_ssl = uri.port == 443
119
101
 
120
102
  request = klass.new(uri.request_uri, 'Content-Type' => 'application/json')
121
103
 
122
- request.add_field('Authorization', "Bearer #{token}") if token
104
+ request.add_field('X-API-Key', token) if token
123
105
  request.body = JSON.dump(body) if body
124
106
  response = http.request(request)
107
+
125
108
  JSON.parse(response.body || '{}')
126
109
  end
127
110
  end
@@ -1,5 +1,5 @@
1
1
  module Bitfex
2
- VERSION_INFO = [1, 2, 0].freeze
2
+ VERSION_INFO = [2, 0, 0].freeze
3
3
  VERSION = VERSION_INFO.map(&:to_s).join('.').freeze
4
4
 
5
5
  def self.version
@@ -19,110 +19,82 @@ class BitfexTest < Minitest::Test
19
19
  assert_equal 'https://google.com/', client.server_url
20
20
  end
21
21
 
22
- def test_auth_success
23
- stub_request(:post, 'https://auth.bitfex.trade/auth')
24
- .with(body: '{"auth":{"email":"user@example.com","password":"123"}}')
25
- .to_return(status: 200, body: '{"jwt":"token"}')
26
-
27
- client = Bitfex::Api.new
28
- assert_equal 'token', client.auth('user@example.com', '123')
29
- end
30
-
31
- def test_auth_failure
32
- stub_request(:post, 'https://auth.bitfex.trade/auth')
33
- .with(body: '{"auth":{"email":"user@example.com","password":"123"}}')
34
- .to_return(status: 404, body: '{}')
35
-
36
- assert_raises Bitfex::AuthError do
37
- client = Bitfex::Api.new
38
- client.auth('user@example.com', '123')
39
- end
40
- end
41
-
42
22
  def test_balances_success
43
23
  stub_request(:get, "https://bitfex.trade/api/v1/user")
44
- .with(headers: { 'Authorization' => 'Bearer 123' })
24
+ .with(headers: { 'X-API-Key' => '123' })
45
25
  .to_return(status: 200, body: '{"success":true,"balances":{"BTC":10.5}}')
46
26
 
47
- client = Bitfex::Api.new
48
- client.token = '123'
49
- assert_equal({'BTC' => 10.5}, client.balances)
27
+ client = Bitfex::Api.new(token: '123')
28
+ assert_equal({ 'BTC' => 10.5 }, client.balances)
50
29
  end
51
30
 
52
31
  def test_balances_failure
53
32
  stub_request(:get, "https://bitfex.trade/api/v1/user")
54
- .with(headers: { 'Authorization' => 'Bearer 123' })
33
+ .with(headers: { 'X-API-Key' => '123' })
55
34
  .to_return(status: 403, body: '{"success":false,"errors":["TEST"]}')
56
35
 
57
36
  assert_raises Bitfex::ApiError do
58
- client = Bitfex::Api.new
59
- client.token = '123'
37
+ client = Bitfex::Api.new(token: '123')
60
38
  client.balances
61
39
  end
62
40
  end
63
41
 
64
42
  def test_orders_list_success
65
43
  stub_request(:get, "https://bitfex.trade/api/v1/orders?pair=BTC_RUR")
66
- .with(headers: { 'Authorization' => 'Bearer 123' })
44
+ .with(headers: { 'X-API-Key' => '123' })
67
45
  .to_return(status: 200, body: '{"success":true,"orders":[{"id":1}]}')
68
46
 
69
- client = Bitfex::Api.new
70
- client.token = '123'
47
+ client = Bitfex::Api.new(token: '123')
71
48
  assert_equal([{'id' => 1}], client.orders_list('BTC_RUR'))
72
49
  end
73
50
 
74
51
  def test_orders_list_faulure
75
52
  stub_request(:get, "https://bitfex.trade/api/v1/orders?pair=BTC_RUR")
76
- .with(headers: { 'Authorization' => 'Bearer 123' })
53
+ .with(headers: { 'X-API-Key' => '123' })
77
54
  .to_return(status: 403, body: '{"success":false,"errors":["TEST"]}')
78
55
 
79
56
  assert_raises Bitfex::ApiError do
80
- client = Bitfex::Api.new
81
- client.token = '123'
57
+ client = Bitfex::Api.new(token: '123')
82
58
  client.orders_list('BTC_RUR')
83
59
  end
84
60
  end
85
61
 
86
62
  def test_my_orders_success
87
63
  stub_request(:get, "https://bitfex.trade/api/v1/orders/my")
88
- .with(headers: { 'Authorization' => 'Bearer 123' })
64
+ .with(headers: { 'X-API-Key' => '123' })
89
65
  .to_return(status: 200, body: '{"success":true,"orders":[{"id":1}]}')
90
66
 
91
- client = Bitfex::Api.new
92
- client.token = '123'
67
+ client = Bitfex::Api.new(token: '123')
93
68
  assert_equal([{'id' => 1}], client.my_orders)
94
69
  end
95
70
 
96
71
  def test_my_orders_faulure
97
72
  stub_request(:get, "https://bitfex.trade/api/v1/orders/my")
98
- .with(headers: { 'Authorization' => 'Bearer 123' })
73
+ .with(headers: { 'X-API-Key' => '123' })
99
74
  .to_return(status: 403, body: '{"success":false,"errors":["TEST"]}')
100
75
 
101
76
  assert_raises Bitfex::ApiError do
102
- client = Bitfex::Api.new
103
- client.token = '123'
77
+ client = Bitfex::Api.new(token: '123')
104
78
  client.my_orders
105
79
  end
106
80
  end
107
81
 
108
82
  def test_delete_order_success
109
83
  stub_request(:delete, 'https://bitfex.trade/api/v1/orders/1')
110
- .with(headers: { 'Authorization' => 'Bearer 123' })
84
+ .with(headers: { 'X-API-Key' => '123' })
111
85
  .to_return(status: 200, body: '{"success":true}')
112
86
 
113
- client = Bitfex::Api.new
114
- client.token = '123'
87
+ client = Bitfex::Api.new(token: '123')
115
88
  assert_equal true, client.delete_order(1)
116
89
  end
117
90
 
118
91
  def test_delete_order_failure
119
92
  stub_request(:delete, 'https://bitfex.trade/api/v1/orders/1')
120
- .with(headers: { 'Authorization' => 'Bearer 123' })
93
+ .with(headers: { 'X-API-Key' => '123' })
121
94
  .to_return(status: 400, body: '{"success":false,"errors":["TEST"]}')
122
95
 
123
96
  assert_raises Bitfex::ApiError do
124
- client = Bitfex::Api.new
125
- client.token = '123'
97
+ client = Bitfex::Api.new(token: '123')
126
98
  client.delete_order(1)
127
99
  end
128
100
  end
@@ -130,23 +102,23 @@ class BitfexTest < Minitest::Test
130
102
  def test_create_order_success
131
103
  stub_request(:post, 'https://bitfex.trade/api/v1/orders')
132
104
  .with(body: "{\"order\":{\"pair\":\"BTC_RUR\",\"operation\":\"buy\",\"amount\":1.0,\"price\":60000.0}}",
133
- headers: { 'Authorization' => 'Bearer 123' })
105
+ headers: { 'X-API-Key' => '123' })
134
106
  .to_return(status: 200, body: '{"success":true}')
135
107
 
136
- client = Bitfex::Api.new
137
- client.token = '123'
108
+ client = Bitfex::Api.new(token: '123')
138
109
  assert_equal true, client.create_order(:buy, 'BTC_RUR', 1.0, 600_00.0)
139
110
  end
140
111
 
141
112
  def test_create_order_failure
142
113
  stub_request(:post, 'https://bitfex.trade/api/v1/orders')
143
- .with(body: "{\"order\":{\"pair\":\"BTC_RUR\",\"operation\":\"buy\",\"amount\":1.0,\"price\":60000.0}}",
144
- headers: { 'Authorization' => 'Bearer 123' })
114
+ .with(
115
+ body: '{"order":{"pair":"BTC_RUR","operation":"buy","amount":1.0,"price":60000.0}}',
116
+ headers: { 'X-API-Key' => '123' }
117
+ )
145
118
  .to_return(status: 403, body: '{"success":false,"errors":["TEST"]}')
146
119
 
147
120
  assert_raises Bitfex::ApiError do
148
- client = Bitfex::Api.new
149
- client.token = '123'
121
+ client = Bitfex::Api.new(token: '123')
150
122
  client.create_order(:buy, 'BTC_RUR', 1.0, 600_00.0)
151
123
  end
152
124
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitfex
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - BitFex.Trade