bitstampede 0.1.0 → 0.1.1
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.
- 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
|