cexio_reinvestor 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MDg5YTRiM2E1MDBiNmMxY2UzNzMzMmU2N2YxMzUwY2FjMTJmODM1Nw==
4
+ YWNkNmY0NDVhMTgxNDFjN2IyZDk3ZjllYmY1NzQ2NWJkZTRhNGU2MA==
5
5
  data.tar.gz: !binary |-
6
- YjUzOWM3MjE4YjZmNGI4MWVkZDRkNzBlZGMwNjYzNjQyNWQzOTYxOA==
6
+ MWJlNDY5YzVkMDIxZjliNDY1NDdhYWE1OWMyM2IwZDAzOGQ2ZDc1MQ==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ZmU2MDAxOTg2ZWJhOTk2ZWZkMTZhZTRhMzliMDVjZDEzNzA4ODY0ZmMzNzgw
10
- OTcwMzUyNmJjOWQzODdjMDJkZmU2MzJmOTEzNmIxNWUzYTNiYTJjOGQ3ZDlj
11
- NWE2MTI1YTJhNjExOTE4ZGRkYzdmZGI3YTZmODYxZGQ0ZTdmNDE=
9
+ MmEyZjI3MDMzMDEwNjAzYTQxMjMzM2Q3YmNiYzdlODkxYTU5NzBjYTZlNGJi
10
+ NmZkYzcyMDQ4MTE2NjhmYzA0Y2U2OTQ1ZTJmNTRiMTZjNjEwN2MwNzE1NmUw
11
+ ZTY0NWMwNmM4YzAxNmNlMDE3YTJlZTVhOWM1YjlhM2M4YjIxY2Y=
12
12
  data.tar.gz: !binary |-
13
- ODM1ODk5NTFlNzYyM2M3NTI2ZWJlNTFjZWJmMjI3YWE1NzNiMGRmNDgyMjkz
14
- YTc1ODA4OGNmZDJkMDZjMjFmMDMxYjk5OGU1N2VmNzUyNzYxZDY5YTEyMDA3
15
- OGQzZTI5OTlhYmUxNzlmYTBkZjgwOWRjYTU2ZmIxYTA2YWQwMDc=
13
+ ZWM1NGVkZGNhNGUyYmZjNzk5OGRkZTBmYTFkZmYyOTY3M2Y0Yjg2MjQ4OTBi
14
+ MGM0ZGU4M2RlYTFiMmRhZjZlZjg5OWNiZWJkNDkyNjkzZDgyZWZhYzU3OWEw
15
+ YmIwMzQ5MTQzMTg4NzU4OWEyMTAyYTFmNGJlMGRlM2QyM2U4NmM=
data/README.md CHANGED
@@ -18,8 +18,6 @@ This is a simple command-line tool that helps you reinvest your mined BTC and NM
18
18
  4. Push to the branch (`git push origin my-new-feature`)
19
19
  5. Create new Pull Request
20
20
 
21
- ## Donations
21
+ ## Tips
22
22
 
23
23
  **Bitcoin:** 1DwZR4TdRy4a448xRz8Dm51hHn6PdZXYS2
24
-
25
- **CEX.IO referral link:** https://cex.io/r/2/eromirou/0/
@@ -17,9 +17,11 @@ end
17
17
 
18
18
  trader = CexioReinvestor::Trader.new(options[:username], options[:api_key], options[:api_secret])
19
19
 
20
- trap('INT') do
21
- puts "\nBye."
22
- exit
20
+ %w(INT SIGINT).each do |signal|
21
+ trap(signal){
22
+ puts "\nBye."
23
+ exit!
24
+ }
23
25
  end
24
26
 
25
27
  trader.run
@@ -4,6 +4,7 @@ require 'cexio'
4
4
  module CexioReinvestor
5
5
 
6
6
  MIN = BigDecimal.new('0.00000001')
7
+ FEE_ADJUSTMENT = BigDecimal.new('1.002012141')
7
8
 
8
9
  class Trader
9
10
  def initialize(username, api_key, api_secret)
@@ -22,7 +23,7 @@ module CexioReinvestor
22
23
  sleep 1
23
24
  price = BigDecimal.new(api.ticker(pair)['ask'], 8)
24
25
  sleep 1
25
- amount_to_buy = (balance / price).round(8, :down)
26
+ amount_to_buy = (balance / price / FEE_ADJUSTMENT).round(8, :down)
26
27
  return if amount_to_buy < MIN
27
28
 
28
29
  result = api.place_order('buy', amount_to_buy, price, pair)
@@ -1,3 +1,3 @@
1
1
  module CexioReinvestor
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -1,45 +1,10 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe CexioReinvestor::Trader do
4
- #PAIRS = [ 'GHS/BTC', 'GHS/NMC', 'NMC/BTC' ]
5
- =begin
6
- let(:stub_balance) do
7
- stub_request(:post, 'https://cex.io/api/balance/').to_return(body: lambda { |r| balance })
8
- end
9
- let(:balance) { %{{"timestamp":"#{Time.now.to_i}","username":"eromirou","IXC":{"available":"3.95433625"},"DVC":{"available":"148.66713273"},"BTC":{"available":"1.5","orders":"0.00000000"},"NMC":{"available":"5.6","orders":"0.00000000"},"GHS":{"available":"200.1","orders":"0.00000000"}}} }
10
4
 
11
- let(:stub_ticker) do
12
- stub_request(:post, %r{https://cex\.io/api/ticker/(#{PAIRS.join('|')})})
13
- .to_return(body: lambda { |r| send(r.uri.path.split('/')[-2..-1].join('_').downcase) })
14
- end
15
- let(:ghs_btc) { %{{"timestamp":"#{Time.now.to_i}", "low":"0.02", "high":"0.03", "last":"0.025", "volume":"500", "bid":"0.026", "ask":"0.027"}} }
16
- let(:ghs_nmc) { %{{"timestamp":"#{Time.now.to_i}", "low":"4", "high":"5", "last":"4.5", "volume":"200", "bid":"4.6", "ask":"4.7"}} }
17
- let(:nmc_btc) { %{{"timestamp":"#{Time.now.to_i}", "low":"0.005", "high":"0.008", "last":"0.006", "volume":"3000", "bid":"0.006", "ask":"0.007"}} }
18
-
19
- let(:stub_place_order) do
20
- stub_request(:post, %r{https://cex\.io/api/place_order/(#{PAIRS.join('|')})})
21
- .to_return(body: lambda { |r|
22
- params = CGI.parse(r.body)
23
- send("#{r.uri.path.split('/')[-2..-1].join('_').downcase}_#{params['type'].first}_order")
24
- })
25
- end
26
- let(:ghs_btc_buy_order) do
27
- %{{"id":"123456", "time":"#{Time.now.to_i}", "pending":"0.0", "amount":"1", "type":"buy", "price":"0.025"}}
28
- end
29
- let(:ghs_btc_sell_order) do
30
- %{{"id":"123456", "time":"#{Time.now.to_i}", "pending":"0.0", "amount":"1", "type":"sell", "price":"0.026"}}
31
- end
32
-
33
- before :each do
34
- stub_balance
35
- stub_ticker
36
- stub_place_order
37
- end
38
- =end
5
+ let(:trader) { CexioReinvestor::Trader.new('username', 'api_key', 'api_secret') }
39
6
 
40
7
  describe '#trade(pair)' do
41
- let(:trader) { CexioReinvestor::Trader.new('username', 'api_key', 'api_secret') }
42
-
43
8
  it 'does not blow up when a timeout occurs' do
44
9
  stub_request(:post, 'https://cex.io/api/balance/').to_timeout
45
10
  expect do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cexio_reinvestor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomas Rojas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-06 00:00:00.000000000 Z
11
+ date: 2014-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cexio