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
         |