ably-rest 1.1.7 → 1.1.8
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/lib/submodules/ably-ruby/CHANGELOG.md +59 -0
- data/lib/submodules/ably-ruby/COPYRIGHT +1 -1
- data/lib/submodules/ably-ruby/SPEC.md +0 -7
- data/lib/submodules/ably-ruby/ably.gemspec +1 -1
- data/lib/submodules/ably-ruby/lib/ably/models/connection_details.rb +8 -2
- data/lib/submodules/ably-ruby/lib/ably/models/delta_extras.rb +29 -0
- data/lib/submodules/ably-ruby/lib/ably/models/error_info.rb +6 -2
- data/lib/submodules/ably-ruby/lib/ably/models/message.rb +11 -0
- data/lib/submodules/ably-ruby/lib/ably/models/protocol_message.rb +5 -8
- data/lib/submodules/ably-ruby/lib/ably/realtime/channel/channel_state_machine.rb +5 -1
- data/lib/submodules/ably-ruby/lib/ably/realtime/channel/publisher.rb +3 -2
- data/lib/submodules/ably-ruby/lib/ably/realtime/channel.rb +2 -0
- data/lib/submodules/ably-ruby/lib/ably/realtime/connection/connection_manager.rb +13 -4
- data/lib/submodules/ably-ruby/lib/ably/realtime/connection/connection_state_machine.rb +4 -0
- data/lib/submodules/ably-ruby/lib/ably/realtime/connection.rb +0 -3
- data/lib/submodules/ably-ruby/lib/ably/rest/channel.rb +4 -3
- data/lib/submodules/ably-ruby/lib/ably/rest/client.rb +16 -4
- data/lib/submodules/ably-ruby/lib/ably/version.rb +1 -1
- data/lib/submodules/ably-ruby/spec/acceptance/realtime/channel_spec.rb +212 -7
- data/lib/submodules/ably-ruby/spec/acceptance/realtime/connection_failures_spec.rb +56 -1
- data/lib/submodules/ably-ruby/spec/acceptance/realtime/connection_spec.rb +249 -0
- data/lib/submodules/ably-ruby/spec/acceptance/realtime/presence_spec.rb +18 -1
- data/lib/submodules/ably-ruby/spec/acceptance/rest/channel_spec.rb +73 -11
- data/lib/submodules/ably-ruby/spec/acceptance/rest/channels_spec.rb +1 -1
- data/lib/submodules/ably-ruby/spec/support/test_app.rb +1 -1
- data/lib/submodules/ably-ruby/spec/unit/models/delta_extras_spec.rb +14 -0
- data/lib/submodules/ably-ruby/spec/unit/models/error_info_spec.rb +17 -1
- data/lib/submodules/ably-ruby/spec/unit/models/message_spec.rb +24 -0
- data/lib/submodules/ably-ruby/spec/unit/models/protocol_message_spec.rb +24 -20
- data/lib/submodules/ably-ruby/spec/unit/realtime/channel_spec.rb +2 -1
- data/lib/submodules/ably-ruby/spec/unit/realtime/channels_spec.rb +3 -3
- data/lib/submodules/ably-ruby/spec/unit/rest/channel_spec.rb +40 -7
- data/lib/submodules/ably-ruby/spec/unit/rest/client_spec.rb +27 -0
- metadata +4 -2
@@ -5,11 +5,13 @@ describe Ably::Rest::Channel do
|
|
5
5
|
include Ably::Modules::Conversions
|
6
6
|
|
7
7
|
vary_by_protocol do
|
8
|
-
let(:default_options) { { key: api_key, environment: environment, protocol: protocol} }
|
8
|
+
let(:default_options) { { key: api_key, environment: environment, protocol: protocol, max_frame_size: max_frame_size, max_message_size: max_message_size } }
|
9
9
|
let(:client_options) { default_options }
|
10
10
|
let(:client) do
|
11
11
|
Ably::Rest::Client.new(client_options)
|
12
12
|
end
|
13
|
+
let(:max_message_size) { nil }
|
14
|
+
let(:max_frame_size) { nil }
|
13
15
|
|
14
16
|
describe '#publish' do
|
15
17
|
let(:channel_name) { random_str }
|
@@ -60,7 +62,8 @@ describe Ably::Rest::Channel do
|
|
60
62
|
end
|
61
63
|
|
62
64
|
it 'publishes an array of messages in one HTTP request' do
|
63
|
-
expect(
|
65
|
+
expect(client.max_message_size).to eq(Ably::Rest::Client::MAX_MESSAGE_SIZE)
|
66
|
+
expect(messages.sum(&:size) < Ably::Rest::Client::MAX_MESSAGE_SIZE).to eq(true)
|
64
67
|
|
65
68
|
expect(client).to receive(:post).once.and_call_original
|
66
69
|
expect(channel.publish(messages)).to eql(true)
|
@@ -70,19 +73,78 @@ describe Ably::Rest::Channel do
|
|
70
73
|
end
|
71
74
|
|
72
75
|
context 'with an array of Message objects' do
|
73
|
-
|
74
|
-
|
75
|
-
Ably::
|
76
|
+
context 'when max_message_size and max_frame_size is not set' do
|
77
|
+
before do
|
78
|
+
expect(client.max_message_size).to eq(Ably::Rest::Client::MAX_MESSAGE_SIZE)
|
79
|
+
expect(client.max_frame_size).to eq(Ably::Rest::Client::MAX_FRAME_SIZE)
|
80
|
+
end
|
81
|
+
|
82
|
+
context 'and messages size (130 bytes) is smaller than the max_message_size' do
|
83
|
+
let(:messages) do
|
84
|
+
10.times.map do |index|
|
85
|
+
Ably::Models::Message(name: index.to_s, data: { "index" => index + 10 })
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'publishes an array of messages in one HTTP request' do
|
90
|
+
expect(messages.sum &:size).to eq(130)
|
91
|
+
expect(client).to receive(:post).once.and_call_original
|
92
|
+
expect(channel.publish(messages)).to eql(true)
|
93
|
+
expect(channel.history.items.map(&:name)).to match_array(messages.map(&:name))
|
94
|
+
expect(channel.history.items.map(&:data)).to match_array(messages.map(&:data))
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
context 'and messages size (177784 bytes) is bigger than the max_message_size' do
|
99
|
+
let(:messages) do
|
100
|
+
10000.times.map do |index|
|
101
|
+
Ably::Models::Message(name: index.to_s, data: { "index" => index + 1 })
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
it 'should not publish and raise Ably::Exceptions::MaxMessageSizeExceeded' do
|
106
|
+
expect(messages.sum &:size).to eq(177784)
|
107
|
+
expect { channel.publish(messages) }.to raise_error(Ably::Exceptions::MaxMessageSizeExceeded)
|
108
|
+
end
|
76
109
|
end
|
77
110
|
end
|
78
111
|
|
79
|
-
|
80
|
-
|
112
|
+
context 'when max_message_size is 655 bytes' do
|
113
|
+
let(:max_message_size) { 655 }
|
81
114
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
115
|
+
before do
|
116
|
+
expect(client.max_message_size).to eq(max_message_size)
|
117
|
+
expect(client.max_frame_size).to eq(Ably::Rest::Client::MAX_FRAME_SIZE)
|
118
|
+
end
|
119
|
+
|
120
|
+
context 'and messages size (130 bytes) is smaller than the max_message_size' do
|
121
|
+
let(:messages) do
|
122
|
+
10.times.map do |index|
|
123
|
+
Ably::Models::Message(name: index.to_s, data: { "index" => index + 10 })
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
it 'publishes an array of messages in one HTTP request' do
|
128
|
+
expect(messages.sum &:size).to eq(130)
|
129
|
+
expect(client).to receive(:post).once.and_call_original
|
130
|
+
expect(channel.publish(messages)).to eql(true)
|
131
|
+
expect(channel.history.items.map(&:name)).to match_array(messages.map(&:name))
|
132
|
+
expect(channel.history.items.map(&:data)).to match_array(messages.map(&:data))
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
context 'and messages size (177784 bytes) is bigger than the max_message_size' do
|
137
|
+
let(:messages) do
|
138
|
+
10000.times.map do |index|
|
139
|
+
Ably::Models::Message(name: index.to_s, data: { "index" => index + 1 })
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
it 'should not publish and raise Ably::Exceptions::MaxMessageSizeExceeded' do
|
144
|
+
expect(messages.sum &:size).to eq(177784)
|
145
|
+
expect { channel.publish(messages) }.to raise_error(Ably::Exceptions::MaxMessageSizeExceeded)
|
146
|
+
end
|
147
|
+
end
|
86
148
|
end
|
87
149
|
end
|
88
150
|
|
@@ -36,7 +36,7 @@ describe Ably::Rest::Channels do
|
|
36
36
|
let(:new_channel_options) { { encrypted: true } }
|
37
37
|
let(:original_channel) { client.channels.get(channel_name, options) }
|
38
38
|
|
39
|
-
it 'overrides the existing channel options and returns the channel object' do
|
39
|
+
it 'overrides the existing channel options and returns the channel object (RSN3c)' do
|
40
40
|
expect(original_channel.options).to_not include(:encrypted)
|
41
41
|
new_channel = client.channels.get(channel_name, new_channel_options)
|
42
42
|
expect(new_channel).to be_a(Ably::Rest::Channel)
|
@@ -59,7 +59,7 @@ class TestApp
|
|
59
59
|
|
60
60
|
url = "#{sandbox_client.endpoint}/apps/#{app_id}"
|
61
61
|
|
62
|
-
basic_auth = Base64.
|
62
|
+
basic_auth = Base64.urlsafe_encode64(api_key).chomp
|
63
63
|
headers = { "Authorization" => "Basic #{basic_auth}" }
|
64
64
|
|
65
65
|
Faraday.delete(url, nil, headers)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe Ably::Models::DeltaExtras do
|
5
|
+
subject { described_class.new({ format: 'vcdiff', from: '1234-4567-8910-1001-1111'}) }
|
6
|
+
|
7
|
+
it 'should have `from` attribute' do
|
8
|
+
expect(subject.from).to eq('1234-4567-8910-1001-1111')
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'should have `format` attribute' do
|
12
|
+
expect(subject.format).to eq('vcdiff')
|
13
|
+
end
|
14
|
+
end
|
@@ -5,7 +5,7 @@ describe Ably::Models::ErrorInfo do
|
|
5
5
|
subject { Ably::Models::ErrorInfo }
|
6
6
|
|
7
7
|
context '#TI1, #TI4' do
|
8
|
-
it_behaves_like 'a model', with_simple_attributes: %w(code status_code href message) do
|
8
|
+
it_behaves_like 'a model', with_simple_attributes: %w(code status_code href message request_id cause) do
|
9
9
|
let(:model_args) { [] }
|
10
10
|
end
|
11
11
|
end
|
@@ -18,6 +18,22 @@ describe Ably::Models::ErrorInfo do
|
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
|
+
context '#request_id #RSC7c' do
|
22
|
+
subject { Ably::Models::ErrorInfo.new('request_id' => '123-456-789-001') }
|
23
|
+
|
24
|
+
it 'should return request ID' do
|
25
|
+
expect(subject.request_id).to eql('123-456-789-001')
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context '#cause #TI1' do
|
30
|
+
subject { Ably::Models::ErrorInfo.new('cause' => Ably::Models::ErrorInfo.new({})) }
|
31
|
+
|
32
|
+
it 'should return cause attribute' do
|
33
|
+
expect(subject.cause).to be_kind_of(Ably::Models::ErrorInfo)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
21
37
|
context 'log entries container help link #TI5' do
|
22
38
|
context 'without an error code' do
|
23
39
|
subject { Ably::Models::ErrorInfo.new('statusCode' => 401) }
|
@@ -606,4 +606,28 @@ describe Ably::Models::Message do
|
|
606
606
|
end
|
607
607
|
end
|
608
608
|
end
|
609
|
+
|
610
|
+
context '#delta_extras (TM2i)' do
|
611
|
+
let(:delta_extras) { message.delta_extras }
|
612
|
+
|
613
|
+
context 'when delta' do
|
614
|
+
let(:message) { subject.new({ extras: { delta: { from: '1234-1234-5678-9009', format: 'vcdiff' } } }) }
|
615
|
+
|
616
|
+
it 'should return vcdiff format' do
|
617
|
+
expect(delta_extras.format).to eq('vcdiff')
|
618
|
+
end
|
619
|
+
|
620
|
+
it 'should return 1234-1234-5678-9009 message id' do
|
621
|
+
expect(delta_extras.from).to eq('1234-1234-5678-9009')
|
622
|
+
end
|
623
|
+
end
|
624
|
+
|
625
|
+
context 'when no delta' do
|
626
|
+
let(:message) { subject.new({ extras: {} }) }
|
627
|
+
|
628
|
+
it 'should return nil' do
|
629
|
+
expect(delta_extras).to eq(nil)
|
630
|
+
end
|
631
|
+
end
|
632
|
+
end
|
609
633
|
end
|
@@ -10,9 +10,9 @@ describe Ably::Models::ProtocolMessage do
|
|
10
10
|
subject.new({ action: 1 }.merge(options))
|
11
11
|
end
|
12
12
|
|
13
|
-
# TR4n, TR4b, TR4c, TR4d
|
13
|
+
# TR4n, TR4b, TR4c, TR4d
|
14
14
|
it_behaves_like 'a model',
|
15
|
-
with_simple_attributes: %w(id channel channel_serial connection_id
|
15
|
+
with_simple_attributes: %w(id channel channel_serial connection_id),
|
16
16
|
base_model_options: { action: 1 } do
|
17
17
|
|
18
18
|
let(:model_args) { [] }
|
@@ -176,6 +176,28 @@ describe Ably::Models::ProtocolMessage do
|
|
176
176
|
end
|
177
177
|
end
|
178
178
|
|
179
|
+
context 'when attach resumed flag' do
|
180
|
+
context 'flags is 34' do
|
181
|
+
let(:protocol_message) { new_protocol_message(flags: 34) }
|
182
|
+
|
183
|
+
it '#has_attach_resume_flag? is true' do
|
184
|
+
expect(protocol_message.has_attach_resume_flag?).to be_truthy
|
185
|
+
end
|
186
|
+
|
187
|
+
it '#has_attach_presence_flag? is false' do
|
188
|
+
expect(protocol_message.has_attach_presence_flag?).to be_falsey
|
189
|
+
end
|
190
|
+
end
|
191
|
+
|
192
|
+
context 'flags is 0' do
|
193
|
+
let(:protocol_message) { new_protocol_message(flags: 0) }
|
194
|
+
|
195
|
+
it 'should raise an exception if flags is a float number' do
|
196
|
+
expect(protocol_message.has_attach_resume_flag?).to be_falsy
|
197
|
+
end
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
179
201
|
context 'when channel resumed and presence flags present' do
|
180
202
|
let(:protocol_message) { new_protocol_message(flags: 5) }
|
181
203
|
|
@@ -417,24 +439,6 @@ describe Ably::Models::ProtocolMessage do
|
|
417
439
|
end
|
418
440
|
end
|
419
441
|
end
|
420
|
-
|
421
|
-
context '#connection_key (#TR4e)' do
|
422
|
-
context 'existing only in #connection_details.connection_key' do
|
423
|
-
let(:protocol_message) { new_protocol_message(connectionDetails: { connectionKey: 'key' }) }
|
424
|
-
|
425
|
-
it 'is returned' do
|
426
|
-
expect(protocol_message.connection_key).to eql('key')
|
427
|
-
end
|
428
|
-
end
|
429
|
-
|
430
|
-
context 'existing in both #connection_key and #connection_details.connection_key' do
|
431
|
-
let(:protocol_message) { new_protocol_message(connectionKey: 'deprecated', connectionDetails: { connectionKey: 'key' }) }
|
432
|
-
|
433
|
-
it 'returns #connection_details.connection_key as #connection_key will be deprecated > 0.8' do
|
434
|
-
expect(protocol_message.connection_key).to eql('key')
|
435
|
-
end
|
436
|
-
end
|
437
|
-
end
|
438
442
|
end
|
439
443
|
|
440
444
|
context '#to_json', :api_private do
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
require 'shared/protocol_msgbus_behaviour'
|
4
4
|
|
5
5
|
describe Ably::Realtime::Channel do
|
6
|
-
let(:client) {
|
6
|
+
let(:client) { Ably::Realtime::Client.new(token: 'valid') }
|
7
7
|
let(:channel_name) { 'test' }
|
8
8
|
|
9
9
|
subject do
|
@@ -71,6 +71,7 @@ describe Ably::Realtime::Channel do
|
|
71
71
|
let(:message) { instance_double('Ably::Models::Message', client_id: nil, size: 0) }
|
72
72
|
|
73
73
|
before do
|
74
|
+
allow(subject).to receive(:enqueue_messages_on_connection).and_return(message)
|
74
75
|
allow(subject).to receive(:create_message).and_return(message)
|
75
76
|
allow(subject).to receive(:attach).and_return(:true)
|
76
77
|
end
|
@@ -11,19 +11,19 @@ describe Ably::Realtime::Channels do
|
|
11
11
|
|
12
12
|
context 'creating channels' do
|
13
13
|
context '#get' do
|
14
|
-
it 'creates a channel if it does not exist' do
|
14
|
+
it 'creates a channel if it does not exist (RSN3a)' do
|
15
15
|
expect(Ably::Realtime::Channel).to receive(:new).with(client, channel_name, options)
|
16
16
|
subject.get(channel_name, options)
|
17
17
|
end
|
18
18
|
|
19
19
|
context 'when an existing channel exists' do
|
20
|
-
it 'will reuse a channel object if it exists' do
|
20
|
+
it 'will reuse a channel object if it exists (RSN3a)' do
|
21
21
|
channel = subject.get(channel_name, options)
|
22
22
|
expect(channel).to be_a(Ably::Realtime::Channel)
|
23
23
|
expect(subject.get(channel_name, options).object_id).to eql(channel.object_id)
|
24
24
|
end
|
25
25
|
|
26
|
-
it 'will update the options on the channel if provided' do
|
26
|
+
it 'will update the options on the channel if provided (RSN3c)' do
|
27
27
|
channel = subject.get(channel_name, options)
|
28
28
|
expect(channel.options).to eql(options)
|
29
29
|
expect(channel.options).to_not include(:encrypted)
|
@@ -7,17 +7,14 @@ describe Ably::Rest::Channel do
|
|
7
7
|
'Ably::Rest::Client',
|
8
8
|
encoders: [],
|
9
9
|
post: instance_double('Faraday::Response', status: 201),
|
10
|
-
idempotent_rest_publishing: false,
|
10
|
+
idempotent_rest_publishing: false, max_message_size: max_message_size
|
11
11
|
)
|
12
12
|
end
|
13
13
|
let(:channel_name) { 'unique' }
|
14
|
+
let(:max_message_size) { nil }
|
14
15
|
|
15
16
|
subject { Ably::Rest::Channel.new(client, channel_name) }
|
16
17
|
|
17
|
-
it 'should return Ably::Rest::Channel::MAX_MESSAGE_SIZE equal 65536 (TO3l8)' do
|
18
|
-
expect(Ably::Rest::Channel::MAX_MESSAGE_SIZE).to eq(65536)
|
19
|
-
end
|
20
|
-
|
21
18
|
describe '#initializer' do
|
22
19
|
let(:channel_name) { random_str.encode(encoding) }
|
23
20
|
|
@@ -132,8 +129,44 @@ describe Ably::Rest::Channel do
|
|
132
129
|
end
|
133
130
|
|
134
131
|
context 'max message size exceeded' do
|
135
|
-
|
136
|
-
|
132
|
+
context 'when max_message_size is nil' do
|
133
|
+
context 'and a message size is 65537 bytes' do
|
134
|
+
it 'should raise Ably::Exceptions::MaxMessageSizeExceeded' do
|
135
|
+
expect { subject.publish('x' * 65537, 'data') }.to raise_error Ably::Exceptions::MaxMessageSizeExceeded
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
context 'when max_message_size is 65536 bytes' do
|
141
|
+
let(:max_message_size) { 65536 }
|
142
|
+
|
143
|
+
context 'and a message size is 65537 bytes' do
|
144
|
+
it 'should raise Ably::Exceptions::MaxMessageSizeExceeded' do
|
145
|
+
expect { subject.publish('x' * 65537, 'data') }.to raise_error Ably::Exceptions::MaxMessageSizeExceeded
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
context 'and a message size is 10 bytes' do
|
150
|
+
it 'should send a message' do
|
151
|
+
expect(subject.publish('x' * 10, 'data')).to eq(true)
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
context 'when max_message_size is 10 bytes' do
|
157
|
+
let(:max_message_size) { 10 }
|
158
|
+
|
159
|
+
context 'and a message size is 11 bytes' do
|
160
|
+
it 'should raise Ably::Exceptions::MaxMessageSizeExceeded' do
|
161
|
+
expect { subject.publish('x' * 11, 'data') }.to raise_error Ably::Exceptions::MaxMessageSizeExceeded
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
context 'and a message size is 2 bytes' do
|
166
|
+
it 'should send a message' do
|
167
|
+
expect(subject.publish('x' * 2, 'data')).to eq(true)
|
168
|
+
end
|
169
|
+
end
|
137
170
|
end
|
138
171
|
end
|
139
172
|
end
|
@@ -87,6 +87,33 @@ describe Ably::Rest::Client do
|
|
87
87
|
end
|
88
88
|
end
|
89
89
|
end
|
90
|
+
|
91
|
+
context 'max_message_size' do
|
92
|
+
context 'is not present' do
|
93
|
+
let(:client_options) { { key: 'appid.keyuid:keysecret' } }
|
94
|
+
|
95
|
+
it 'should return default 65536 (#TO3l8)' do
|
96
|
+
expect(subject.max_message_size).to eq(Ably::Rest::Client::MAX_MESSAGE_SIZE)
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
context 'is nil' do
|
101
|
+
let(:client_options) { { key: 'appid.keyuid:keysecret', max_message_size: nil } }
|
102
|
+
|
103
|
+
it 'should return default 65536 (#TO3l8)' do
|
104
|
+
expect(Ably::Rest::Client::MAX_MESSAGE_SIZE).to eq(65536)
|
105
|
+
expect(subject.max_message_size).to eq(Ably::Rest::Client::MAX_MESSAGE_SIZE)
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
context 'is customized 131072 bytes' do
|
110
|
+
let(:client_options) { { key: 'appid.keyuid:keysecret', max_message_size: 131072 } }
|
111
|
+
|
112
|
+
it 'should return 131072' do
|
113
|
+
expect(subject.max_message_size).to eq(131072)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
end
|
90
117
|
end
|
91
118
|
|
92
119
|
context 'request_id generation' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ably-rest
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew O'Riordan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -294,6 +294,7 @@ files:
|
|
294
294
|
- lib/submodules/ably-ruby/lib/ably/models/cipher_params.rb
|
295
295
|
- lib/submodules/ably-ruby/lib/ably/models/connection_details.rb
|
296
296
|
- lib/submodules/ably-ruby/lib/ably/models/connection_state_change.rb
|
297
|
+
- lib/submodules/ably-ruby/lib/ably/models/delta_extras.rb
|
297
298
|
- lib/submodules/ably-ruby/lib/ably/models/device_details.rb
|
298
299
|
- lib/submodules/ably-ruby/lib/ably/models/device_push_details.rb
|
299
300
|
- lib/submodules/ably-ruby/lib/ably/models/error_info.rb
|
@@ -431,6 +432,7 @@ files:
|
|
431
432
|
- lib/submodules/ably-ruby/spec/unit/models/cipher_params_spec.rb
|
432
433
|
- lib/submodules/ably-ruby/spec/unit/models/connection_details_spec.rb
|
433
434
|
- lib/submodules/ably-ruby/spec/unit/models/connection_state_change_spec.rb
|
435
|
+
- lib/submodules/ably-ruby/spec/unit/models/delta_extras_spec.rb
|
434
436
|
- lib/submodules/ably-ruby/spec/unit/models/device_details_spec.rb
|
435
437
|
- lib/submodules/ably-ruby/spec/unit/models/device_push_details_spec.rb
|
436
438
|
- lib/submodules/ably-ruby/spec/unit/models/error_info_spec.rb
|