rtcbx 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ce01db70ca69c8e9533e06c5c2d221e9ce8b6ea4
4
- data.tar.gz: 32e30472d2c289cb46dbeeed4f37b5779fb52b39
3
+ metadata.gz: 82a2a059f832e80857a14fa93ca724c7231f9fe9
4
+ data.tar.gz: 5f8346117ed15e6b2d7b2391796104c928c4fe64
5
5
  SHA512:
6
- metadata.gz: 7b0261d1e4888042a3297e8b53216b51a733345b37b01ff47c795d23ec97e82b48f323b9550a9bbc10f39dcc004911e39a976766c8df48ff6a656e1fba011cea
7
- data.tar.gz: c84d05b67756afb44a56b5cf69a3b32dd13a0de5701116b6bcbd313e5493106d35474a0cd7e952db4788bfba744b4db8fdb1f4b1408102f83540aae00575eac1
6
+ metadata.gz: 5029d67e9ac25a3e8dba7f9f718d53589555f62bf99ca1296ff1296ae2a303fd558b2f0f9a6d87165a78883bc08105656da12225046a2611f289e4f4de96f197
7
+ data.tar.gz: a288a6bb4d241a13ae5ca4d195b421572f506ff4486e487a4c48e3e870f642e9e900155026bd2df36db579f3a3b8a1e69f9dd531d0df3813c2bd4bd38b29acd3
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in orderbook.gemspec
4
4
  gemspec
5
- gem 'coinbase-exchange', git: 'https://github.com/coinbase/coinbase-exchange-ruby.git', branch: 'master'
5
+ gem 'coinbase-exchange'
6
6
  gem 'json'
7
7
  gem 'eventmachine'
8
8
 
data/README.md CHANGED
@@ -87,11 +87,6 @@ ob.reset!
87
87
  ob = RTCBX::Orderbook.new(product_id: "BTC-GBP")
88
88
  ```
89
89
 
90
- * Get the "BTC-GBP" orderbook instead of "BTC-USD":
91
- ```ruby
92
- ob = RTCBX::Orderbook.new(product_id: "BTC-GBP")
93
- ```
94
-
95
90
  * Create a live Orderbook with a callback to fire on each message:
96
91
  ```ruby
97
92
  ob = RTCBX::Orderbook.new do |message|
@@ -10,12 +10,11 @@ class RTCBX
10
10
  #
11
11
  PING_INTERVAL = 15
12
12
 
13
+ Thread.abort_on_exception = true
14
+
13
15
  attr_reader :product_id
14
16
  attr_reader :start
15
17
  attr_reader :api_key
16
- attr_reader :api_secret
17
- attr_reader :api_passphrase
18
-
19
18
  attr_reader :message_callbacks
20
19
  attr_reader :websocket
21
20
  attr_reader :client
@@ -30,7 +29,7 @@ class RTCBX
30
29
  @api_secret = options.fetch(:api_secret, '')
31
30
  @api_passphrase = options.fetch(:api_passphrase, '')
32
31
  @message_callbacks = []
33
- @message_callbacks << block
32
+ @message_callbacks << block if block_given?
34
33
  @client = Coinbase::Exchange::Client.new(
35
34
  api_key,
36
35
  api_secret,
@@ -61,6 +60,9 @@ class RTCBX
61
60
 
62
61
  private
63
62
 
63
+ attr_reader :api_secret
64
+ attr_reader :api_passphrase
65
+
64
66
  def setup_websocket_callback
65
67
  websocket.message do |message|
66
68
  queue.push(message)
@@ -49,14 +49,18 @@ class RTCBX
49
49
  if message.fetch('type') == 'match'
50
50
  if Time.parse(message.fetch('time')) >= Time.at(first_bucket)
51
51
  timestamp = Time.parse(message.fetch('time'))
52
- bucket = timestamp.to_i - timestamp.sec
52
+ message_bucket = timestamp.to_i - timestamp.sec
53
53
  @buckets_lock.synchronize do
54
- if bucket > current_bucket
55
- @current_bucket = bucket
54
+ if message_bucket >= current_bucket
55
+ @current_bucket = message_bucket
56
56
  @buckets[current_bucket.to_i] = []
57
57
  @buckets[current_bucket.to_i] << message
58
58
  else
59
- @buckets[current_bucket.to_i] << message
59
+ begin
60
+ @buckets[current_bucket.to_i] << message
61
+ rescue
62
+ binding.pry
63
+ end
60
64
  end
61
65
  end
62
66
  end
@@ -5,7 +5,7 @@ class RTCBX
5
5
  attr_reader :time, :low, :high, :open, :close, :volume
6
6
 
7
7
  def initialize(epoch, matches)
8
- @time = epoch
8
+ @time = Time.at(epoch)
9
9
  @low = matches.map {|message| BigDecimal.new(message.fetch('price'))}.min
10
10
  @high = matches.map {|message| BigDecimal.new(message.fetch('price'))}.max
11
11
  @open = BigDecimal.new(matches.first.fetch('price'))
@@ -1,5 +1,5 @@
1
1
  # Orderbook version number. I try to keep it semantic.
2
2
  #
3
3
  class RTCBX
4
- VERSION = '0.0.2'
4
+ VERSION = '0.0.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rtcbx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Rodrigues
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-23 00:00:00.000000000 Z
11
+ date: 2017-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler