rtcbx 0.0.2 → 0.0.3

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