cexio_reinvestor 0.0.5 → 0.0.6

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,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