bitstampede 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/bitstampede/client.rb +5 -1
- data/lib/bitstampede/version.rb +1 -1
- data/lib/bitstampede.rb +2 -0
- data/spec/unit/bitstampede/client_spec.rb +12 -1
- metadata +3 -3
data/lib/bitstampede/client.rb
CHANGED
@@ -40,7 +40,11 @@ module Bitstampede
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def trade!(type, amount, price)
|
43
|
-
|
43
|
+
begin
|
44
|
+
mapper.map_order(net.post(type, { price: price.to_digits, amount: amount.to_digits }))
|
45
|
+
rescue ::StandardError => e
|
46
|
+
raise Bitstampede::StandardError.new(e.message)
|
47
|
+
end
|
44
48
|
end
|
45
49
|
end
|
46
50
|
end
|
data/lib/bitstampede/version.rb
CHANGED
data/lib/bitstampede.rb
CHANGED
@@ -59,16 +59,22 @@ describe Bitstampede::Client do
|
|
59
59
|
before do
|
60
60
|
net.stub(:post).and_return(api_buy_response)
|
61
61
|
mapper.stub(:map_order).and_return(order_object)
|
62
|
-
subject.buy!(BigDecimal('100'), BigDecimal('1'))
|
63
62
|
end
|
64
63
|
|
65
64
|
it 'submits a buy order to the API' do
|
65
|
+
subject.buy!(BigDecimal('100'), BigDecimal('1'))
|
66
66
|
expect(net).to have_received(:post).with('buy', { amount: '100.0', price: '1.0' })
|
67
67
|
end
|
68
68
|
|
69
69
|
it 'maps the API response to an Order object' do
|
70
|
+
subject.buy!(BigDecimal('100'), BigDecimal('1'))
|
70
71
|
expect(mapper).to have_received(:map_order).with(api_buy_response)
|
71
72
|
end
|
73
|
+
|
74
|
+
it 'wraps exceptions in its own class' do
|
75
|
+
net.stub(:post).and_raise(StandardError)
|
76
|
+
expect{ subject.buy!(BigDecimal('100'), BigDecimal('1')) }.to raise_error(Bitstampede::StandardError)
|
77
|
+
end
|
72
78
|
end
|
73
79
|
|
74
80
|
describe 'sell!' do
|
@@ -88,6 +94,11 @@ describe Bitstampede::Client do
|
|
88
94
|
it 'maps the API response to an Order object' do
|
89
95
|
expect(mapper).to have_received(:map_order).with(api_sell_response)
|
90
96
|
end
|
97
|
+
|
98
|
+
it 'wraps exceptions in its own class' do
|
99
|
+
net.stub(:post).and_raise(StandardError)
|
100
|
+
expect{ subject.sell!(BigDecimal('100'), BigDecimal('1')) }.to raise_error(Bitstampede::StandardError)
|
101
|
+
end
|
91
102
|
end
|
92
103
|
|
93
104
|
describe 'cancel' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bitstampede
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -191,7 +191,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
191
191
|
version: '0'
|
192
192
|
segments:
|
193
193
|
- 0
|
194
|
-
hash:
|
194
|
+
hash: 1066769478697545710
|
195
195
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
196
196
|
none: false
|
197
197
|
requirements:
|
@@ -200,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
200
200
|
version: '0'
|
201
201
|
segments:
|
202
202
|
- 0
|
203
|
-
hash:
|
203
|
+
hash: 1066769478697545710
|
204
204
|
requirements: []
|
205
205
|
rubyforge_project:
|
206
206
|
rubygems_version: 1.8.25
|