ably 1.0.7 → 1.1.0
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/.editorconfig +14 -0
- data/.travis.yml +4 -4
- data/CHANGELOG.md +26 -3
- data/Rakefile +32 -0
- data/SPEC.md +920 -565
- data/ably.gemspec +9 -4
- data/lib/ably/auth.rb +28 -2
- data/lib/ably/exceptions.rb +8 -2
- data/lib/ably/models/channel_state_change.rb +1 -1
- data/lib/ably/models/connection_state_change.rb +1 -1
- data/lib/ably/models/device_details.rb +87 -0
- data/lib/ably/models/device_push_details.rb +86 -0
- data/lib/ably/models/error_info.rb +23 -2
- data/lib/ably/models/idiomatic_ruby_wrapper.rb +4 -4
- data/lib/ably/models/protocol_message.rb +32 -2
- data/lib/ably/models/push_channel_subscription.rb +89 -0
- data/lib/ably/modules/conversions.rb +1 -1
- data/lib/ably/modules/encodeable.rb +1 -1
- data/lib/ably/modules/exception_codes.rb +128 -0
- data/lib/ably/modules/model_common.rb +15 -2
- data/lib/ably/modules/state_machine.rb +1 -1
- data/lib/ably/realtime.rb +1 -0
- data/lib/ably/realtime/auth.rb +1 -1
- data/lib/ably/realtime/channel.rb +24 -102
- data/lib/ably/realtime/channel/channel_manager.rb +2 -6
- data/lib/ably/realtime/channel/channel_state_machine.rb +2 -2
- data/lib/ably/realtime/channel/publisher.rb +74 -0
- data/lib/ably/realtime/channel/push_channel.rb +62 -0
- data/lib/ably/realtime/client.rb +87 -0
- data/lib/ably/realtime/client/incoming_message_dispatcher.rb +6 -2
- data/lib/ably/realtime/client/outgoing_message_dispatcher.rb +1 -1
- data/lib/ably/realtime/connection.rb +8 -5
- data/lib/ably/realtime/connection/connection_manager.rb +7 -7
- data/lib/ably/realtime/connection/websocket_transport.rb +1 -1
- data/lib/ably/realtime/presence.rb +4 -4
- data/lib/ably/realtime/presence/members_map.rb +3 -3
- data/lib/ably/realtime/push.rb +40 -0
- data/lib/ably/realtime/push/admin.rb +61 -0
- data/lib/ably/realtime/push/channel_subscriptions.rb +108 -0
- data/lib/ably/realtime/push/device_registrations.rb +105 -0
- data/lib/ably/rest.rb +1 -0
- data/lib/ably/rest/channel.rb +33 -5
- data/lib/ably/rest/channel/push_channel.rb +62 -0
- data/lib/ably/rest/client.rb +137 -28
- data/lib/ably/rest/middleware/parse_message_pack.rb +17 -1
- data/lib/ably/rest/presence.rb +1 -0
- data/lib/ably/rest/push.rb +42 -0
- data/lib/ably/rest/push/admin.rb +54 -0
- data/lib/ably/rest/push/channel_subscriptions.rb +121 -0
- data/lib/ably/rest/push/device_registrations.rb +103 -0
- data/lib/ably/version.rb +7 -2
- data/spec/acceptance/realtime/auth_spec.rb +6 -8
- data/spec/acceptance/realtime/channel_spec.rb +166 -51
- data/spec/acceptance/realtime/client_spec.rb +149 -0
- data/spec/acceptance/realtime/connection_failures_spec.rb +1 -1
- data/spec/acceptance/realtime/connection_spec.rb +4 -4
- data/spec/acceptance/realtime/message_spec.rb +19 -17
- data/spec/acceptance/realtime/presence_spec.rb +5 -5
- data/spec/acceptance/realtime/push_admin_spec.rb +696 -0
- data/spec/acceptance/realtime/push_spec.rb +27 -0
- data/spec/acceptance/rest/auth_spec.rb +4 -3
- data/spec/acceptance/rest/base_spec.rb +2 -2
- data/spec/acceptance/rest/client_spec.rb +129 -10
- data/spec/acceptance/rest/message_spec.rb +175 -4
- data/spec/acceptance/rest/push_admin_spec.rb +896 -0
- data/spec/acceptance/rest/push_spec.rb +25 -0
- data/spec/acceptance/rest/time_spec.rb +1 -1
- data/spec/run_parallel_tests +33 -0
- data/spec/unit/logger_spec.rb +10 -3
- data/spec/unit/models/device_details_spec.rb +102 -0
- data/spec/unit/models/device_push_details_spec.rb +101 -0
- data/spec/unit/models/error_info_spec.rb +51 -3
- data/spec/unit/models/message_spec.rb +17 -2
- data/spec/unit/models/presence_message_spec.rb +1 -1
- data/spec/unit/models/push_channel_subscription_spec.rb +86 -0
- data/spec/unit/realtime/client_spec.rb +12 -0
- data/spec/unit/realtime/push_channel_spec.rb +36 -0
- data/spec/unit/rest/channel_spec.rb +8 -1
- data/spec/unit/rest/client_spec.rb +30 -0
- data/spec/unit/rest/push_channel_spec.rb +36 -0
- metadata +71 -8
@@ -28,6 +28,18 @@ describe Ably::Realtime::Client do
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
+
context 'push' do
|
32
|
+
let(:client_options) { { key: 'appid.keyuid:keysecret' } }
|
33
|
+
|
34
|
+
specify '#device is not supported and raises an exception' do
|
35
|
+
expect { subject.device }.to raise_error Ably::Exceptions::PushNotificationsNotSupported
|
36
|
+
end
|
37
|
+
|
38
|
+
specify '#push returns a Push object' do
|
39
|
+
expect(subject.push).to be_a(Ably::Realtime::Push)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
31
43
|
after(:all) do
|
32
44
|
sleep 1 # let realtime library shut down any open clients
|
33
45
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Ably::Realtime::Channel::PushChannel do
|
4
|
+
subject { Ably::Realtime::Channel::PushChannel }
|
5
|
+
|
6
|
+
let(:channel_name) { 'unique' }
|
7
|
+
let(:client) { double('client').as_null_object }
|
8
|
+
let(:channel) { Ably::Realtime::Channel.new(client, channel_name) }
|
9
|
+
|
10
|
+
it 'is constructed with a channel' do
|
11
|
+
expect(subject.new(channel)).to be_a(Ably::Realtime::Channel::PushChannel)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'raises an exception if constructed with an invalid type' do
|
15
|
+
expect { subject.new(Hash.new) }.to raise_error(ArgumentError)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'exposes the channel as attribute #channel' do
|
19
|
+
expect(subject.new(channel).channel).to eql(channel)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'is available in the #push attribute of the channel' do
|
23
|
+
expect(channel.push).to be_a(Ably::Realtime::Channel::PushChannel)
|
24
|
+
expect(channel.push.channel).to eql(channel)
|
25
|
+
end
|
26
|
+
|
27
|
+
context 'methods not implemented as push notifications' do
|
28
|
+
subject { Ably::Realtime::Channel::PushChannel.new(channel) }
|
29
|
+
|
30
|
+
%w(subscribe_device subscribe_client_id unsubscribe_device unsubscribe_client_id get_subscriptions).each do |method_name|
|
31
|
+
specify "##{method_name} raises an unsupported exception" do
|
32
|
+
expect { subject.public_send(method_name, 'foo') }.to raise_error(Ably::Exceptions::PushNotificationsNotSupported)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -2,7 +2,14 @@
|
|
2
2
|
require 'spec_helper'
|
3
3
|
|
4
4
|
describe Ably::Rest::Channel do
|
5
|
-
let(:client)
|
5
|
+
let(:client) do
|
6
|
+
instance_double(
|
7
|
+
'Ably::Rest::Client',
|
8
|
+
encoders: [],
|
9
|
+
post: instance_double('Faraday::Response', status: 201),
|
10
|
+
idempotent_rest_publishing: false,
|
11
|
+
)
|
12
|
+
end
|
6
13
|
let(:channel_name) { 'unique' }
|
7
14
|
|
8
15
|
subject { Ably::Rest::Channel.new(client, channel_name) }
|
@@ -20,6 +20,24 @@ describe Ably::Rest::Client do
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
context 'fallback_retry_timeout (#RSC15f)' do
|
24
|
+
context 'default' do
|
25
|
+
let(:client_options) { { key: 'appid.keyuid:keysecret' } }
|
26
|
+
|
27
|
+
it 'is set to 10 minutes' do
|
28
|
+
expect(subject.options.fetch(:fallback_retry_timeout)).to eql(10 * 60)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context 'when provided' do
|
33
|
+
let(:client_options) { { key: 'appid.keyuid:keysecret', fallback_retry_timeout: 30 } }
|
34
|
+
|
35
|
+
it 'configures a new timeout' do
|
36
|
+
expect(subject.options.fetch(:fallback_retry_timeout)).to eql(30)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
23
41
|
context ':use_token_auth' do
|
24
42
|
context 'set to false' do
|
25
43
|
context 'with a key and :tls => false' do
|
@@ -57,4 +75,16 @@ describe Ably::Rest::Client do
|
|
57
75
|
expect(subject.add_request_ids).to eql(true)
|
58
76
|
end
|
59
77
|
end
|
78
|
+
|
79
|
+
context 'push' do
|
80
|
+
let(:client_options) { { key: 'appid.keyuid:keysecret' } }
|
81
|
+
|
82
|
+
specify '#device is not supported and raises an exception' do
|
83
|
+
expect { subject.device }.to raise_error Ably::Exceptions::PushNotificationsNotSupported
|
84
|
+
end
|
85
|
+
|
86
|
+
specify '#push returns a Push object' do
|
87
|
+
expect(subject.push).to be_a(Ably::Rest::Push)
|
88
|
+
end
|
89
|
+
end
|
60
90
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Ably::Rest::Channel::PushChannel do
|
4
|
+
subject { Ably::Rest::Channel::PushChannel }
|
5
|
+
|
6
|
+
let(:channel_name) { 'unique' }
|
7
|
+
let(:client) { double('client').as_null_object }
|
8
|
+
let(:channel) { Ably::Rest::Channel.new(client, channel_name) }
|
9
|
+
|
10
|
+
it 'is constructed with a channel' do
|
11
|
+
expect(subject.new(channel)).to be_a(Ably::Rest::Channel::PushChannel)
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'raises an exception if constructed with an invalid type' do
|
15
|
+
expect { subject.new(Hash.new) }.to raise_error(ArgumentError)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'exposes the channel as attribute #channel' do
|
19
|
+
expect(subject.new(channel).channel).to eql(channel)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'is available in the #push attribute of the channel' do
|
23
|
+
expect(channel.push).to be_a(Ably::Rest::Channel::PushChannel)
|
24
|
+
expect(channel.push.channel).to eql(channel)
|
25
|
+
end
|
26
|
+
|
27
|
+
context 'methods not implemented as push notifications' do
|
28
|
+
subject { Ably::Rest::Channel::PushChannel.new(channel) }
|
29
|
+
|
30
|
+
%w(subscribe_device subscribe_client_id unsubscribe_device unsubscribe_client_id get_subscriptions).each do |method_name|
|
31
|
+
specify "##{method_name} raises an unsupported exception" do
|
32
|
+
expect { subject.public_send(method_name, 'foo') }.to raise_error(Ably::Exceptions::PushNotificationsNotSupported)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ably
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lewis Marshall
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-02-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: eventmachine
|
@@ -185,28 +185,28 @@ dependencies:
|
|
185
185
|
requirements:
|
186
186
|
- - "~>"
|
187
187
|
- !ruby/object:Gem::Version
|
188
|
-
version: 3.
|
188
|
+
version: 3.3.0
|
189
189
|
type: :development
|
190
190
|
prerelease: false
|
191
191
|
version_requirements: !ruby/object:Gem::Requirement
|
192
192
|
requirements:
|
193
193
|
- - "~>"
|
194
194
|
- !ruby/object:Gem::Version
|
195
|
-
version: 3.
|
195
|
+
version: 3.3.0
|
196
196
|
- !ruby/object:Gem::Dependency
|
197
197
|
name: rspec-retry
|
198
198
|
requirement: !ruby/object:Gem::Requirement
|
199
199
|
requirements:
|
200
200
|
- - "~>"
|
201
201
|
- !ruby/object:Gem::Version
|
202
|
-
version: '0.
|
202
|
+
version: '0.6'
|
203
203
|
type: :development
|
204
204
|
prerelease: false
|
205
205
|
version_requirements: !ruby/object:Gem::Requirement
|
206
206
|
requirements:
|
207
207
|
- - "~>"
|
208
208
|
- !ruby/object:Gem::Version
|
209
|
-
version: '0.
|
209
|
+
version: '0.6'
|
210
210
|
- !ruby/object:Gem::Dependency
|
211
211
|
name: yard
|
212
212
|
requirement: !ruby/object:Gem::Requirement
|
@@ -221,6 +221,20 @@ dependencies:
|
|
221
221
|
- - "~>"
|
222
222
|
- !ruby/object:Gem::Version
|
223
223
|
version: '0.9'
|
224
|
+
- !ruby/object:Gem::Dependency
|
225
|
+
name: rspec-instafail
|
226
|
+
requirement: !ruby/object:Gem::Requirement
|
227
|
+
requirements:
|
228
|
+
- - "~>"
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: '1.0'
|
231
|
+
type: :development
|
232
|
+
prerelease: false
|
233
|
+
version_requirements: !ruby/object:Gem::Requirement
|
234
|
+
requirements:
|
235
|
+
- - "~>"
|
236
|
+
- !ruby/object:Gem::Version
|
237
|
+
version: '1.0'
|
224
238
|
- !ruby/object:Gem::Dependency
|
225
239
|
name: webmock
|
226
240
|
requirement: !ruby/object:Gem::Requirement
|
@@ -249,6 +263,20 @@ dependencies:
|
|
249
263
|
- - ">="
|
250
264
|
- !ruby/object:Gem::Version
|
251
265
|
version: '0'
|
266
|
+
- !ruby/object:Gem::Dependency
|
267
|
+
name: parallel_tests
|
268
|
+
requirement: !ruby/object:Gem::Requirement
|
269
|
+
requirements:
|
270
|
+
- - "~>"
|
271
|
+
- !ruby/object:Gem::Version
|
272
|
+
version: '2.22'
|
273
|
+
type: :development
|
274
|
+
prerelease: false
|
275
|
+
version_requirements: !ruby/object:Gem::Requirement
|
276
|
+
requirements:
|
277
|
+
- - "~>"
|
278
|
+
- !ruby/object:Gem::Version
|
279
|
+
version: '2.22'
|
252
280
|
- !ruby/object:Gem::Dependency
|
253
281
|
name: pry
|
254
282
|
requirement: !ruby/object:Gem::Requirement
|
@@ -285,6 +313,7 @@ executables: []
|
|
285
313
|
extensions: []
|
286
314
|
extra_rdoc_files: []
|
287
315
|
files:
|
316
|
+
- ".editorconfig"
|
288
317
|
- ".gitignore"
|
289
318
|
- ".gitmodules"
|
290
319
|
- ".rspec"
|
@@ -305,6 +334,8 @@ files:
|
|
305
334
|
- lib/ably/models/cipher_params.rb
|
306
335
|
- lib/ably/models/connection_details.rb
|
307
336
|
- lib/ably/models/connection_state_change.rb
|
337
|
+
- lib/ably/models/device_details.rb
|
338
|
+
- lib/ably/models/device_push_details.rb
|
308
339
|
- lib/ably/models/error_info.rb
|
309
340
|
- lib/ably/models/http_paginated_response.rb
|
310
341
|
- lib/ably/models/idiomatic_ruby_wrapper.rb
|
@@ -318,6 +349,7 @@ files:
|
|
318
349
|
- lib/ably/models/paginated_result.rb
|
319
350
|
- lib/ably/models/presence_message.rb
|
320
351
|
- lib/ably/models/protocol_message.rb
|
352
|
+
- lib/ably/models/push_channel_subscription.rb
|
321
353
|
- lib/ably/models/stats.rb
|
322
354
|
- lib/ably/models/stats_types.rb
|
323
355
|
- lib/ably/models/token_details.rb
|
@@ -330,6 +362,7 @@ files:
|
|
330
362
|
- lib/ably/modules/enum.rb
|
331
363
|
- lib/ably/modules/event_emitter.rb
|
332
364
|
- lib/ably/modules/event_machine_helpers.rb
|
365
|
+
- lib/ably/modules/exception_codes.rb
|
333
366
|
- lib/ably/modules/http_helpers.rb
|
334
367
|
- lib/ably/modules/message_emitter.rb
|
335
368
|
- lib/ably/modules/message_pack.rb
|
@@ -345,6 +378,8 @@ files:
|
|
345
378
|
- lib/ably/realtime/channel.rb
|
346
379
|
- lib/ably/realtime/channel/channel_manager.rb
|
347
380
|
- lib/ably/realtime/channel/channel_state_machine.rb
|
381
|
+
- lib/ably/realtime/channel/publisher.rb
|
382
|
+
- lib/ably/realtime/channel/push_channel.rb
|
348
383
|
- lib/ably/realtime/channels.rb
|
349
384
|
- lib/ably/realtime/client.rb
|
350
385
|
- lib/ably/realtime/client/incoming_message_dispatcher.rb
|
@@ -358,8 +393,13 @@ files:
|
|
358
393
|
- lib/ably/realtime/presence/members_map.rb
|
359
394
|
- lib/ably/realtime/presence/presence_manager.rb
|
360
395
|
- lib/ably/realtime/presence/presence_state_machine.rb
|
396
|
+
- lib/ably/realtime/push.rb
|
397
|
+
- lib/ably/realtime/push/admin.rb
|
398
|
+
- lib/ably/realtime/push/channel_subscriptions.rb
|
399
|
+
- lib/ably/realtime/push/device_registrations.rb
|
361
400
|
- lib/ably/rest.rb
|
362
401
|
- lib/ably/rest/channel.rb
|
402
|
+
- lib/ably/rest/channel/push_channel.rb
|
363
403
|
- lib/ably/rest/channels.rb
|
364
404
|
- lib/ably/rest/client.rb
|
365
405
|
- lib/ably/rest/middleware/encoder.rb
|
@@ -370,6 +410,10 @@ files:
|
|
370
410
|
- lib/ably/rest/middleware/parse_json.rb
|
371
411
|
- lib/ably/rest/middleware/parse_message_pack.rb
|
372
412
|
- lib/ably/rest/presence.rb
|
413
|
+
- lib/ably/rest/push.rb
|
414
|
+
- lib/ably/rest/push/admin.rb
|
415
|
+
- lib/ably/rest/push/channel_subscriptions.rb
|
416
|
+
- lib/ably/rest/push/device_registrations.rb
|
373
417
|
- lib/ably/util/crypto.rb
|
374
418
|
- lib/ably/util/pub_sub.rb
|
375
419
|
- lib/ably/util/safe_deferrable.rb
|
@@ -384,6 +428,8 @@ files:
|
|
384
428
|
- spec/acceptance/realtime/message_spec.rb
|
385
429
|
- spec/acceptance/realtime/presence_history_spec.rb
|
386
430
|
- spec/acceptance/realtime/presence_spec.rb
|
431
|
+
- spec/acceptance/realtime/push_admin_spec.rb
|
432
|
+
- spec/acceptance/realtime/push_spec.rb
|
387
433
|
- spec/acceptance/realtime/stats_spec.rb
|
388
434
|
- spec/acceptance/realtime/time_spec.rb
|
389
435
|
- spec/acceptance/rest/auth_spec.rb
|
@@ -394,9 +440,12 @@ files:
|
|
394
440
|
- spec/acceptance/rest/encoders_spec.rb
|
395
441
|
- spec/acceptance/rest/message_spec.rb
|
396
442
|
- spec/acceptance/rest/presence_spec.rb
|
443
|
+
- spec/acceptance/rest/push_admin_spec.rb
|
444
|
+
- spec/acceptance/rest/push_spec.rb
|
397
445
|
- spec/acceptance/rest/stats_spec.rb
|
398
446
|
- spec/acceptance/rest/time_spec.rb
|
399
447
|
- spec/rspec_config.rb
|
448
|
+
- spec/run_parallel_tests
|
400
449
|
- spec/shared/client_initializer_behaviour.rb
|
401
450
|
- spec/shared/model_behaviour.rb
|
402
451
|
- spec/shared/protocol_msgbus_behaviour.rb
|
@@ -420,6 +469,8 @@ files:
|
|
420
469
|
- spec/unit/models/cipher_params_spec.rb
|
421
470
|
- spec/unit/models/connection_details_spec.rb
|
422
471
|
- spec/unit/models/connection_state_change_spec.rb
|
472
|
+
- spec/unit/models/device_details_spec.rb
|
473
|
+
- spec/unit/models/device_push_details_spec.rb
|
423
474
|
- spec/unit/models/error_info_spec.rb
|
424
475
|
- spec/unit/models/http_paginated_result_spec.rb
|
425
476
|
- spec/unit/models/idiomatic_ruby_wrapper_spec.rb
|
@@ -431,6 +482,7 @@ files:
|
|
431
482
|
- spec/unit/models/paginated_result_spec.rb
|
432
483
|
- spec/unit/models/presence_message_spec.rb
|
433
484
|
- spec/unit/models/protocol_message_spec.rb
|
485
|
+
- spec/unit/models/push_channel_subscription_spec.rb
|
434
486
|
- spec/unit/models/stats_spec.rb
|
435
487
|
- spec/unit/models/token_details_spec.rb
|
436
488
|
- spec/unit/models/token_request_spec.rb
|
@@ -445,12 +497,14 @@ files:
|
|
445
497
|
- spec/unit/realtime/connection_spec.rb
|
446
498
|
- spec/unit/realtime/incoming_message_dispatcher_spec.rb
|
447
499
|
- spec/unit/realtime/presence_spec.rb
|
500
|
+
- spec/unit/realtime/push_channel_spec.rb
|
448
501
|
- spec/unit/realtime/realtime_spec.rb
|
449
502
|
- spec/unit/realtime/safe_deferrable_spec.rb
|
450
503
|
- spec/unit/realtime/websocket_transport_spec.rb
|
451
504
|
- spec/unit/rest/channel_spec.rb
|
452
505
|
- spec/unit/rest/channels_spec.rb
|
453
506
|
- spec/unit/rest/client_spec.rb
|
507
|
+
- spec/unit/rest/push_channel_spec.rb
|
454
508
|
- spec/unit/rest/rest_spec.rb
|
455
509
|
- spec/unit/util/crypto_spec.rb
|
456
510
|
- spec/unit/util/pub_sub_spec.rb
|
@@ -473,8 +527,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
473
527
|
- !ruby/object:Gem::Version
|
474
528
|
version: '0'
|
475
529
|
requirements: []
|
476
|
-
|
477
|
-
rubygems_version: 2.7.6
|
530
|
+
rubygems_version: 3.0.2
|
478
531
|
signing_key:
|
479
532
|
specification_version: 4
|
480
533
|
summary: A Ruby client library for ably.io realtime messaging implemented using EventMachine
|
@@ -489,6 +542,8 @@ test_files:
|
|
489
542
|
- spec/acceptance/realtime/message_spec.rb
|
490
543
|
- spec/acceptance/realtime/presence_history_spec.rb
|
491
544
|
- spec/acceptance/realtime/presence_spec.rb
|
545
|
+
- spec/acceptance/realtime/push_admin_spec.rb
|
546
|
+
- spec/acceptance/realtime/push_spec.rb
|
492
547
|
- spec/acceptance/realtime/stats_spec.rb
|
493
548
|
- spec/acceptance/realtime/time_spec.rb
|
494
549
|
- spec/acceptance/rest/auth_spec.rb
|
@@ -499,9 +554,12 @@ test_files:
|
|
499
554
|
- spec/acceptance/rest/encoders_spec.rb
|
500
555
|
- spec/acceptance/rest/message_spec.rb
|
501
556
|
- spec/acceptance/rest/presence_spec.rb
|
557
|
+
- spec/acceptance/rest/push_admin_spec.rb
|
558
|
+
- spec/acceptance/rest/push_spec.rb
|
502
559
|
- spec/acceptance/rest/stats_spec.rb
|
503
560
|
- spec/acceptance/rest/time_spec.rb
|
504
561
|
- spec/rspec_config.rb
|
562
|
+
- spec/run_parallel_tests
|
505
563
|
- spec/shared/client_initializer_behaviour.rb
|
506
564
|
- spec/shared/model_behaviour.rb
|
507
565
|
- spec/shared/protocol_msgbus_behaviour.rb
|
@@ -525,6 +583,8 @@ test_files:
|
|
525
583
|
- spec/unit/models/cipher_params_spec.rb
|
526
584
|
- spec/unit/models/connection_details_spec.rb
|
527
585
|
- spec/unit/models/connection_state_change_spec.rb
|
586
|
+
- spec/unit/models/device_details_spec.rb
|
587
|
+
- spec/unit/models/device_push_details_spec.rb
|
528
588
|
- spec/unit/models/error_info_spec.rb
|
529
589
|
- spec/unit/models/http_paginated_result_spec.rb
|
530
590
|
- spec/unit/models/idiomatic_ruby_wrapper_spec.rb
|
@@ -536,6 +596,7 @@ test_files:
|
|
536
596
|
- spec/unit/models/paginated_result_spec.rb
|
537
597
|
- spec/unit/models/presence_message_spec.rb
|
538
598
|
- spec/unit/models/protocol_message_spec.rb
|
599
|
+
- spec/unit/models/push_channel_subscription_spec.rb
|
539
600
|
- spec/unit/models/stats_spec.rb
|
540
601
|
- spec/unit/models/token_details_spec.rb
|
541
602
|
- spec/unit/models/token_request_spec.rb
|
@@ -550,12 +611,14 @@ test_files:
|
|
550
611
|
- spec/unit/realtime/connection_spec.rb
|
551
612
|
- spec/unit/realtime/incoming_message_dispatcher_spec.rb
|
552
613
|
- spec/unit/realtime/presence_spec.rb
|
614
|
+
- spec/unit/realtime/push_channel_spec.rb
|
553
615
|
- spec/unit/realtime/realtime_spec.rb
|
554
616
|
- spec/unit/realtime/safe_deferrable_spec.rb
|
555
617
|
- spec/unit/realtime/websocket_transport_spec.rb
|
556
618
|
- spec/unit/rest/channel_spec.rb
|
557
619
|
- spec/unit/rest/channels_spec.rb
|
558
620
|
- spec/unit/rest/client_spec.rb
|
621
|
+
- spec/unit/rest/push_channel_spec.rb
|
559
622
|
- spec/unit/rest/rest_spec.rb
|
560
623
|
- spec/unit/util/crypto_spec.rb
|
561
624
|
- spec/unit/util/pub_sub_spec.rb
|