deepstream 1.0.5 → 1.0.10
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 +4 -4
- data/deepstream.gemspec +6 -6
- data/lib/deepstream/async_patch.rb +2 -14
- data/lib/deepstream/client.rb +4 -3
- data/lib/deepstream/helpers.rb +2 -1
- data/lib/deepstream/list.rb +6 -4
- data/lib/deepstream/record.rb +10 -2
- data/lib/deepstream/record_handler.rb +1 -0
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2bfc3a3e7fb0cbc56c2f9ec0e30ab73136a62d64079741c29d5a812261eb1979
|
4
|
+
data.tar.gz: 4a3fc3e674eafc3ae4a7e622da0dd086c85ed34ab55d0c6e6c03cb32c5a6d377
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 560920f9777edd39cdf2d062c855868dac777d8594d67025173353ae295804c11428562fc87dfb56ff5660452fcd331d0735ee7c7cc85804cca6d790b676707e
|
7
|
+
data.tar.gz: '09e60641ee2d502e3fc1f8f5ea017377c4ae2d0aa7dc4a96e1d606b6c4f9d9db509af3edaa543c03e462542042debc1f299c017d5e91986cd0c844ab280bd808'
|
data/deepstream.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "deepstream"
|
7
|
-
spec.version = "1.0.
|
7
|
+
spec.version = "1.0.10"
|
8
8
|
spec.authors = ["Currency-One S.A."]
|
9
9
|
spec.email = ["ruby@currency-one.com"]
|
10
10
|
|
@@ -17,12 +17,12 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.bindir = "exe"
|
18
18
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
19
19
|
spec.require_paths = ["lib"]
|
20
|
-
spec.required_ruby_version = '>= 2.
|
20
|
+
spec.required_ruby_version = '>= 2.5.0'
|
21
21
|
spec.license = "Apache-2.0"
|
22
|
-
spec.add_runtime_dependency 'async', '~> 1.
|
23
|
-
spec.add_runtime_dependency 'async-io', '~> 1.
|
24
|
-
spec.add_runtime_dependency 'async-http', '~> 0.
|
25
|
-
spec.add_runtime_dependency 'async-websocket', '~> 0.
|
22
|
+
spec.add_runtime_dependency 'async', '~> 1.28.9'
|
23
|
+
spec.add_runtime_dependency 'async-io', '~> 1.30.2'
|
24
|
+
spec.add_runtime_dependency 'async-http', '~> 0.54.1'
|
25
|
+
spec.add_runtime_dependency 'async-websocket', '~> 0.17.0'
|
26
26
|
spec.add_development_dependency 'cucumber'
|
27
27
|
spec.add_development_dependency 'reel'
|
28
28
|
spec.add_development_dependency 'pry'
|
@@ -3,22 +3,10 @@ module Async
|
|
3
3
|
class Client < ::Protocol::HTTP::Middleware
|
4
4
|
include ::Protocol::WebSocket::Headers
|
5
5
|
|
6
|
-
def self.open(endpoint, *args, &block)
|
7
|
-
client = self.new(HTTP::Client.new(endpoint, *args), mask: true)
|
8
|
-
|
9
|
-
return client unless block_given?
|
10
|
-
|
11
|
-
begin
|
12
|
-
yield client
|
13
|
-
ensure
|
14
|
-
client.close
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
6
|
def self.connect(endpoint, *args, **options, &block)
|
19
7
|
self.open(endpoint, *args) do |client|
|
20
|
-
connection = client.connect(endpoint.path, **options)
|
21
|
-
|
8
|
+
connection = client.connect(endpoint.authority, endpoint.path, **options)
|
9
|
+
|
22
10
|
return connection unless block_given?
|
23
11
|
|
24
12
|
begin
|
data/lib/deepstream/client.rb
CHANGED
@@ -34,8 +34,9 @@ module Deepstream
|
|
34
34
|
@challenge_denied, @@deliberate_close = false
|
35
35
|
@state = CONNECTION_STATE::CLOSED
|
36
36
|
@verbose = @options[:verbose]
|
37
|
+
@reinitialize_master = @options[:reinitialize_master]
|
37
38
|
@log = Async.logger
|
38
|
-
@
|
39
|
+
@connected_before = false
|
39
40
|
connect
|
40
41
|
end
|
41
42
|
|
@@ -156,7 +157,7 @@ module Deepstream
|
|
156
157
|
def on_connection_ack
|
157
158
|
@state = CONNECTION_STATE::AUTHENTICATING
|
158
159
|
@message_buffer.delete_if { |msg| msg.action == ACTION::PATCH }
|
159
|
-
@record_handler.reinitialize
|
160
|
+
@record_handler.reinitialize if @connected_before
|
160
161
|
login
|
161
162
|
end
|
162
163
|
|
@@ -166,7 +167,7 @@ module Deepstream
|
|
166
167
|
end
|
167
168
|
|
168
169
|
def on_login
|
169
|
-
@
|
170
|
+
@connected_before = true
|
170
171
|
@state = CONNECTION_STATE::OPEN
|
171
172
|
every(@options[:heartbeat_interval]) { check_heartbeat } if @options[:heartbeat_interval]
|
172
173
|
resubscribe
|
data/lib/deepstream/helpers.rb
CHANGED
data/lib/deepstream/list.rb
CHANGED
@@ -5,6 +5,8 @@ module Deepstream
|
|
5
5
|
class List < Record
|
6
6
|
LIST_CALLBACKS = %i{added removed}
|
7
7
|
|
8
|
+
attr_reader :version
|
9
|
+
|
8
10
|
def initialize(*args)
|
9
11
|
super
|
10
12
|
@data = []
|
@@ -15,7 +17,7 @@ module Deepstream
|
|
15
17
|
unless @data.include?(record_name)
|
16
18
|
@data << record_name
|
17
19
|
set
|
18
|
-
notify_listeners(:
|
20
|
+
notify_listeners(:added, record_name)
|
19
21
|
end
|
20
22
|
rescue => e
|
21
23
|
@client.on_exception(e)
|
@@ -90,12 +92,12 @@ module Deepstream
|
|
90
92
|
def notify_listeners(cb_name, uid)
|
91
93
|
(@handlers[cb_name] || []).each do |proc|
|
92
94
|
record = @client.get(uid)
|
93
|
-
if record.
|
94
|
-
proc.call()
|
95
|
+
if record.__version
|
96
|
+
proc.call(record)
|
95
97
|
else
|
96
98
|
record.when_ready(&proc)
|
97
99
|
end
|
98
100
|
end
|
99
101
|
end
|
100
102
|
end
|
101
|
-
end
|
103
|
+
end
|
data/lib/deepstream/record.rb
CHANGED
@@ -17,6 +17,14 @@ module Deepstream
|
|
17
17
|
@ready_callback = nil
|
18
18
|
end
|
19
19
|
|
20
|
+
def __version
|
21
|
+
@version
|
22
|
+
end
|
23
|
+
|
24
|
+
def __name
|
25
|
+
@name
|
26
|
+
end
|
27
|
+
|
20
28
|
def reset_version
|
21
29
|
@version = 0
|
22
30
|
end
|
@@ -32,8 +40,8 @@ module Deepstream
|
|
32
40
|
end
|
33
41
|
|
34
42
|
def end_reinitializing
|
35
|
-
reset_version
|
36
|
-
set(@data_cache)
|
43
|
+
reset_version if @client.options[:reinitialize_master]
|
44
|
+
set(@data_cache) if @client.options[:reinitialize_master]
|
37
45
|
@is_reinitializing = false
|
38
46
|
end
|
39
47
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: deepstream
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Currency-One S.A.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: async
|
@@ -16,56 +16,56 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.28.9
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.28.9
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: async-io
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.30.2
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
40
|
+
version: 1.30.2
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: async-http
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.
|
47
|
+
version: 0.54.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
54
|
+
version: 0.54.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: async-websocket
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.17.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.17.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: cucumber
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -175,7 +175,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
175
175
|
requirements:
|
176
176
|
- - ">="
|
177
177
|
- !ruby/object:Gem::Version
|
178
|
-
version: 2.
|
178
|
+
version: 2.5.0
|
179
179
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
180
180
|
requirements:
|
181
181
|
- - ">="
|