ably-rest 1.0.5 → 1.1.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.
Files changed (118) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +6 -3
  3. data/CHANGELOG.md +1 -1
  4. data/LICENSE +1 -1
  5. data/README.md +26 -7
  6. data/SPEC.md +2003 -1605
  7. data/ably-rest.gemspec +4 -2
  8. data/lib/submodules/ably-ruby/.editorconfig +14 -0
  9. data/lib/submodules/ably-ruby/.travis.yml +10 -8
  10. data/lib/submodules/ably-ruby/CHANGELOG.md +97 -1
  11. data/lib/submodules/ably-ruby/LICENSE +1 -3
  12. data/lib/submodules/ably-ruby/README.md +12 -7
  13. data/lib/submodules/ably-ruby/Rakefile +32 -0
  14. data/lib/submodules/ably-ruby/SPEC.md +1277 -835
  15. data/lib/submodules/ably-ruby/ably.gemspec +17 -11
  16. data/lib/submodules/ably-ruby/lib/ably/auth.rb +34 -8
  17. data/lib/submodules/ably-ruby/lib/ably/exceptions.rb +10 -4
  18. data/lib/submodules/ably-ruby/lib/ably/logger.rb +8 -2
  19. data/lib/submodules/ably-ruby/lib/ably/models/channel_state_change.rb +1 -1
  20. data/lib/submodules/ably-ruby/lib/ably/models/connection_state_change.rb +1 -1
  21. data/lib/submodules/ably-ruby/lib/ably/models/device_details.rb +87 -0
  22. data/lib/submodules/ably-ruby/lib/ably/models/device_push_details.rb +86 -0
  23. data/lib/submodules/ably-ruby/lib/ably/models/error_info.rb +23 -2
  24. data/lib/submodules/ably-ruby/lib/ably/models/idiomatic_ruby_wrapper.rb +12 -12
  25. data/lib/submodules/ably-ruby/lib/ably/models/message.rb +6 -4
  26. data/lib/submodules/ably-ruby/lib/ably/models/presence_message.rb +6 -4
  27. data/lib/submodules/ably-ruby/lib/ably/models/protocol_message.rb +32 -2
  28. data/lib/submodules/ably-ruby/lib/ably/models/push_channel_subscription.rb +89 -0
  29. data/lib/submodules/ably-ruby/lib/ably/modules/async_wrapper.rb +2 -2
  30. data/lib/submodules/ably-ruby/lib/ably/modules/conversions.rb +2 -2
  31. data/lib/submodules/ably-ruby/lib/ably/modules/encodeable.rb +2 -2
  32. data/lib/submodules/ably-ruby/lib/ably/modules/event_emitter.rb +2 -2
  33. data/lib/submodules/ably-ruby/lib/ably/modules/exception_codes.rb +128 -0
  34. data/lib/submodules/ably-ruby/lib/ably/modules/model_common.rb +15 -2
  35. data/lib/submodules/ably-ruby/lib/ably/modules/safe_deferrable.rb +1 -1
  36. data/lib/submodules/ably-ruby/lib/ably/modules/safe_yield.rb +1 -1
  37. data/lib/submodules/ably-ruby/lib/ably/modules/state_emitter.rb +5 -5
  38. data/lib/submodules/ably-ruby/lib/ably/modules/state_machine.rb +2 -2
  39. data/lib/submodules/ably-ruby/lib/ably/realtime.rb +1 -0
  40. data/lib/submodules/ably-ruby/lib/ably/realtime/auth.rb +2 -2
  41. data/lib/submodules/ably-ruby/lib/ably/realtime/channel.rb +27 -105
  42. data/lib/submodules/ably-ruby/lib/ably/realtime/channel/channel_manager.rb +4 -8
  43. data/lib/submodules/ably-ruby/lib/ably/realtime/channel/channel_state_machine.rb +2 -2
  44. data/lib/submodules/ably-ruby/lib/ably/realtime/channel/publisher.rb +74 -0
  45. data/lib/submodules/ably-ruby/lib/ably/realtime/channel/push_channel.rb +62 -0
  46. data/lib/submodules/ably-ruby/lib/ably/realtime/client.rb +91 -3
  47. data/lib/submodules/ably-ruby/lib/ably/realtime/client/incoming_message_dispatcher.rb +9 -4
  48. data/lib/submodules/ably-ruby/lib/ably/realtime/client/outgoing_message_dispatcher.rb +1 -1
  49. data/lib/submodules/ably-ruby/lib/ably/realtime/connection.rb +45 -26
  50. data/lib/submodules/ably-ruby/lib/ably/realtime/connection/connection_manager.rb +25 -9
  51. data/lib/submodules/ably-ruby/lib/ably/realtime/connection/websocket_transport.rb +2 -2
  52. data/lib/submodules/ably-ruby/lib/ably/realtime/presence.rb +7 -7
  53. data/lib/submodules/ably-ruby/lib/ably/realtime/presence/members_map.rb +9 -9
  54. data/lib/submodules/ably-ruby/lib/ably/realtime/push.rb +40 -0
  55. data/lib/submodules/ably-ruby/lib/ably/realtime/push/admin.rb +61 -0
  56. data/lib/submodules/ably-ruby/lib/ably/realtime/push/channel_subscriptions.rb +108 -0
  57. data/lib/submodules/ably-ruby/lib/ably/realtime/push/device_registrations.rb +105 -0
  58. data/lib/submodules/ably-ruby/lib/ably/rest.rb +1 -0
  59. data/lib/submodules/ably-ruby/lib/ably/rest/channel.rb +54 -18
  60. data/lib/submodules/ably-ruby/lib/ably/rest/channel/push_channel.rb +62 -0
  61. data/lib/submodules/ably-ruby/lib/ably/rest/client.rb +171 -41
  62. data/lib/submodules/ably-ruby/lib/ably/rest/middleware/parse_message_pack.rb +17 -1
  63. data/lib/submodules/ably-ruby/lib/ably/rest/presence.rb +1 -0
  64. data/lib/submodules/ably-ruby/lib/ably/rest/push.rb +42 -0
  65. data/lib/submodules/ably-ruby/lib/ably/rest/push/admin.rb +54 -0
  66. data/lib/submodules/ably-ruby/lib/ably/rest/push/channel_subscriptions.rb +121 -0
  67. data/lib/submodules/ably-ruby/lib/ably/rest/push/device_registrations.rb +103 -0
  68. data/lib/submodules/ably-ruby/lib/ably/version.rb +7 -2
  69. data/lib/submodules/ably-ruby/spec/acceptance/realtime/auth_spec.rb +253 -49
  70. data/lib/submodules/ably-ruby/spec/acceptance/realtime/channel_history_spec.rb +33 -21
  71. data/lib/submodules/ably-ruby/spec/acceptance/realtime/channel_spec.rb +180 -62
  72. data/lib/submodules/ably-ruby/spec/acceptance/realtime/client_spec.rb +155 -2
  73. data/lib/submodules/ably-ruby/spec/acceptance/realtime/connection_failures_spec.rb +293 -13
  74. data/lib/submodules/ably-ruby/spec/acceptance/realtime/connection_spec.rb +142 -39
  75. data/lib/submodules/ably-ruby/spec/acceptance/realtime/message_spec.rb +38 -36
  76. data/lib/submodules/ably-ruby/spec/acceptance/realtime/presence_history_spec.rb +12 -3
  77. data/lib/submodules/ably-ruby/spec/acceptance/realtime/presence_spec.rb +207 -173
  78. data/lib/submodules/ably-ruby/spec/acceptance/realtime/push_admin_spec.rb +736 -0
  79. data/lib/submodules/ably-ruby/spec/acceptance/realtime/push_spec.rb +27 -0
  80. data/lib/submodules/ably-ruby/spec/acceptance/rest/auth_spec.rb +62 -51
  81. data/lib/submodules/ably-ruby/spec/acceptance/rest/base_spec.rb +2 -2
  82. data/lib/submodules/ably-ruby/spec/acceptance/rest/channel_spec.rb +79 -4
  83. data/lib/submodules/ably-ruby/spec/acceptance/rest/channels_spec.rb +6 -0
  84. data/lib/submodules/ably-ruby/spec/acceptance/rest/client_spec.rb +318 -74
  85. data/lib/submodules/ably-ruby/spec/acceptance/rest/message_spec.rb +158 -6
  86. data/lib/submodules/ably-ruby/spec/acceptance/rest/push_admin_spec.rb +952 -0
  87. data/lib/submodules/ably-ruby/spec/acceptance/rest/push_spec.rb +25 -0
  88. data/lib/submodules/ably-ruby/spec/acceptance/rest/time_spec.rb +1 -1
  89. data/lib/submodules/ably-ruby/spec/run_parallel_tests +33 -0
  90. data/lib/submodules/ably-ruby/spec/shared/client_initializer_behaviour.rb +1 -9
  91. data/lib/submodules/ably-ruby/spec/spec_helper.rb +3 -1
  92. data/lib/submodules/ably-ruby/spec/support/debug_failure_helper.rb +9 -5
  93. data/lib/submodules/ably-ruby/spec/support/event_emitter_helper.rb +31 -0
  94. data/lib/submodules/ably-ruby/spec/support/event_machine_helper.rb +1 -1
  95. data/lib/submodules/ably-ruby/spec/support/test_app.rb +2 -2
  96. data/lib/submodules/ably-ruby/spec/support/test_logger_helper.rb +42 -0
  97. data/lib/submodules/ably-ruby/spec/unit/logger_spec.rb +11 -12
  98. data/lib/submodules/ably-ruby/spec/unit/models/device_details_spec.rb +102 -0
  99. data/lib/submodules/ably-ruby/spec/unit/models/device_push_details_spec.rb +101 -0
  100. data/lib/submodules/ably-ruby/spec/unit/models/error_info_spec.rb +51 -3
  101. data/lib/submodules/ably-ruby/spec/unit/models/message_spec.rb +17 -2
  102. data/lib/submodules/ably-ruby/spec/unit/models/presence_message_spec.rb +1 -1
  103. data/lib/submodules/ably-ruby/spec/unit/models/push_channel_subscription_spec.rb +86 -0
  104. data/lib/submodules/ably-ruby/spec/unit/modules/async_wrapper_spec.rb +2 -2
  105. data/lib/submodules/ably-ruby/spec/unit/modules/enum_spec.rb +1 -1
  106. data/lib/submodules/ably-ruby/spec/unit/modules/event_emitter_spec.rb +3 -3
  107. data/lib/submodules/ably-ruby/spec/unit/modules/state_emitter_spec.rb +10 -10
  108. data/lib/submodules/ably-ruby/spec/unit/realtime/channel_spec.rb +1 -1
  109. data/lib/submodules/ably-ruby/spec/unit/realtime/client_spec.rb +13 -1
  110. data/lib/submodules/ably-ruby/spec/unit/realtime/connection_spec.rb +2 -2
  111. data/lib/submodules/ably-ruby/spec/unit/realtime/presence_spec.rb +1 -1
  112. data/lib/submodules/ably-ruby/spec/unit/realtime/push_channel_spec.rb +36 -0
  113. data/lib/submodules/ably-ruby/spec/unit/rest/channel_spec.rb +30 -1
  114. data/lib/submodules/ably-ruby/spec/unit/rest/client_spec.rb +30 -0
  115. data/lib/submodules/ably-ruby/spec/unit/rest/push_channel_spec.rb +36 -0
  116. data/lib/submodules/ably-ruby/spec/unit/util/pub_sub_spec.rb +3 -3
  117. data/spec/spec_helper.rb +1 -0
  118. metadata +51 -10
@@ -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
@@ -26,7 +26,7 @@ describe Ably::Util::PubSub do
26
26
 
27
27
  context 'with coercion', api_private: true do
28
28
  let(:options) do
29
- { coerce_into: Proc.new { |event| String(event) } }
29
+ { coerce_into: lambda { |event| String(event) } }
30
30
  end
31
31
 
32
32
  it 'calls the provided proc to coerce the event name' do
@@ -36,7 +36,7 @@ describe Ably::Util::PubSub do
36
36
  end
37
37
 
38
38
  context 'and two different configurations but sharing the same class' do
39
- let!(:exception_pubsub) { Ably::Util::PubSub.new(coerce_into: Proc.new { raise KeyError }) }
39
+ let!(:exception_pubsub) { Ably::Util::PubSub.new(coerce_into: lambda { |event| raise KeyError }) }
40
40
 
41
41
  it 'does not share state' do
42
42
  expect(obj).to receive(:received_message).with(msg).once
@@ -58,7 +58,7 @@ describe Ably::Util::PubSub do
58
58
  end
59
59
 
60
60
  context '#unsubscribe' do
61
- let(:callback) { Proc.new { |msg| obj.received_message msg } }
61
+ let(:callback) { lambda { |msg| obj.received_message msg } }
62
62
 
63
63
  before do
64
64
  subject.subscribe(:message, &callback)
@@ -14,6 +14,7 @@ require 'support/api_helper'
14
14
  require 'support/private_api_formatter'
15
15
  require 'support/protocol_helper'
16
16
  require 'support/random_helper'
17
+ require 'support/test_logger_helper'
17
18
 
18
19
  # Load in all shared behaviours
19
20
  Dir.glob(File.expand_path("../lib/submodules/ably-ruby/spec/shared/*.rb", File.dirname(__FILE__))).each do |file|
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.0.5
4
+ version: 1.1.3
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: 2018-04-24 00:00:00.000000000 Z
11
+ date: 2020-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,14 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.9'
19
+ version: '0.12'
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: '0.9'
26
+ version: '0.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: excon
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '0.55'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '0.55'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: json
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -70,16 +84,16 @@ dependencies:
70
84
  name: bundler
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - "~>"
87
+ - - ">="
74
88
  - !ruby/object:Gem::Version
75
- version: '1.3'
89
+ version: 1.3.0
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - "~>"
94
+ - - ">="
81
95
  - !ruby/object:Gem::Version
82
- version: '1.3'
96
+ version: 1.3.0
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rake
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -227,6 +241,7 @@ files:
227
241
  - ably-rest.gemspec
228
242
  - lib/ably-rest.rb
229
243
  - lib/ably-rest/modules/eventmachine_deferrable.rb
244
+ - lib/submodules/ably-ruby/.editorconfig
230
245
  - lib/submodules/ably-ruby/.gitignore
231
246
  - lib/submodules/ably-ruby/.gitmodules
232
247
  - lib/submodules/ably-ruby/.rspec
@@ -247,6 +262,8 @@ files:
247
262
  - lib/submodules/ably-ruby/lib/ably/models/cipher_params.rb
248
263
  - lib/submodules/ably-ruby/lib/ably/models/connection_details.rb
249
264
  - lib/submodules/ably-ruby/lib/ably/models/connection_state_change.rb
265
+ - lib/submodules/ably-ruby/lib/ably/models/device_details.rb
266
+ - lib/submodules/ably-ruby/lib/ably/models/device_push_details.rb
250
267
  - lib/submodules/ably-ruby/lib/ably/models/error_info.rb
251
268
  - lib/submodules/ably-ruby/lib/ably/models/http_paginated_response.rb
252
269
  - lib/submodules/ably-ruby/lib/ably/models/idiomatic_ruby_wrapper.rb
@@ -260,6 +277,7 @@ files:
260
277
  - lib/submodules/ably-ruby/lib/ably/models/paginated_result.rb
261
278
  - lib/submodules/ably-ruby/lib/ably/models/presence_message.rb
262
279
  - lib/submodules/ably-ruby/lib/ably/models/protocol_message.rb
280
+ - lib/submodules/ably-ruby/lib/ably/models/push_channel_subscription.rb
263
281
  - lib/submodules/ably-ruby/lib/ably/models/stats.rb
264
282
  - lib/submodules/ably-ruby/lib/ably/models/stats_types.rb
265
283
  - lib/submodules/ably-ruby/lib/ably/models/token_details.rb
@@ -272,6 +290,7 @@ files:
272
290
  - lib/submodules/ably-ruby/lib/ably/modules/enum.rb
273
291
  - lib/submodules/ably-ruby/lib/ably/modules/event_emitter.rb
274
292
  - lib/submodules/ably-ruby/lib/ably/modules/event_machine_helpers.rb
293
+ - lib/submodules/ably-ruby/lib/ably/modules/exception_codes.rb
275
294
  - lib/submodules/ably-ruby/lib/ably/modules/http_helpers.rb
276
295
  - lib/submodules/ably-ruby/lib/ably/modules/message_emitter.rb
277
296
  - lib/submodules/ably-ruby/lib/ably/modules/message_pack.rb
@@ -287,6 +306,8 @@ files:
287
306
  - lib/submodules/ably-ruby/lib/ably/realtime/channel.rb
288
307
  - lib/submodules/ably-ruby/lib/ably/realtime/channel/channel_manager.rb
289
308
  - lib/submodules/ably-ruby/lib/ably/realtime/channel/channel_state_machine.rb
309
+ - lib/submodules/ably-ruby/lib/ably/realtime/channel/publisher.rb
310
+ - lib/submodules/ably-ruby/lib/ably/realtime/channel/push_channel.rb
290
311
  - lib/submodules/ably-ruby/lib/ably/realtime/channels.rb
291
312
  - lib/submodules/ably-ruby/lib/ably/realtime/client.rb
292
313
  - lib/submodules/ably-ruby/lib/ably/realtime/client/incoming_message_dispatcher.rb
@@ -300,8 +321,13 @@ files:
300
321
  - lib/submodules/ably-ruby/lib/ably/realtime/presence/members_map.rb
301
322
  - lib/submodules/ably-ruby/lib/ably/realtime/presence/presence_manager.rb
302
323
  - lib/submodules/ably-ruby/lib/ably/realtime/presence/presence_state_machine.rb
324
+ - lib/submodules/ably-ruby/lib/ably/realtime/push.rb
325
+ - lib/submodules/ably-ruby/lib/ably/realtime/push/admin.rb
326
+ - lib/submodules/ably-ruby/lib/ably/realtime/push/channel_subscriptions.rb
327
+ - lib/submodules/ably-ruby/lib/ably/realtime/push/device_registrations.rb
303
328
  - lib/submodules/ably-ruby/lib/ably/rest.rb
304
329
  - lib/submodules/ably-ruby/lib/ably/rest/channel.rb
330
+ - lib/submodules/ably-ruby/lib/ably/rest/channel/push_channel.rb
305
331
  - lib/submodules/ably-ruby/lib/ably/rest/channels.rb
306
332
  - lib/submodules/ably-ruby/lib/ably/rest/client.rb
307
333
  - lib/submodules/ably-ruby/lib/ably/rest/middleware/encoder.rb
@@ -312,6 +338,10 @@ files:
312
338
  - lib/submodules/ably-ruby/lib/ably/rest/middleware/parse_json.rb
313
339
  - lib/submodules/ably-ruby/lib/ably/rest/middleware/parse_message_pack.rb
314
340
  - lib/submodules/ably-ruby/lib/ably/rest/presence.rb
341
+ - lib/submodules/ably-ruby/lib/ably/rest/push.rb
342
+ - lib/submodules/ably-ruby/lib/ably/rest/push/admin.rb
343
+ - lib/submodules/ably-ruby/lib/ably/rest/push/channel_subscriptions.rb
344
+ - lib/submodules/ably-ruby/lib/ably/rest/push/device_registrations.rb
315
345
  - lib/submodules/ably-ruby/lib/ably/util/crypto.rb
316
346
  - lib/submodules/ably-ruby/lib/ably/util/pub_sub.rb
317
347
  - lib/submodules/ably-ruby/lib/ably/util/safe_deferrable.rb
@@ -326,6 +356,8 @@ files:
326
356
  - lib/submodules/ably-ruby/spec/acceptance/realtime/message_spec.rb
327
357
  - lib/submodules/ably-ruby/spec/acceptance/realtime/presence_history_spec.rb
328
358
  - lib/submodules/ably-ruby/spec/acceptance/realtime/presence_spec.rb
359
+ - lib/submodules/ably-ruby/spec/acceptance/realtime/push_admin_spec.rb
360
+ - lib/submodules/ably-ruby/spec/acceptance/realtime/push_spec.rb
329
361
  - lib/submodules/ably-ruby/spec/acceptance/realtime/stats_spec.rb
330
362
  - lib/submodules/ably-ruby/spec/acceptance/realtime/time_spec.rb
331
363
  - lib/submodules/ably-ruby/spec/acceptance/rest/auth_spec.rb
@@ -336,9 +368,12 @@ files:
336
368
  - lib/submodules/ably-ruby/spec/acceptance/rest/encoders_spec.rb
337
369
  - lib/submodules/ably-ruby/spec/acceptance/rest/message_spec.rb
338
370
  - lib/submodules/ably-ruby/spec/acceptance/rest/presence_spec.rb
371
+ - lib/submodules/ably-ruby/spec/acceptance/rest/push_admin_spec.rb
372
+ - lib/submodules/ably-ruby/spec/acceptance/rest/push_spec.rb
339
373
  - lib/submodules/ably-ruby/spec/acceptance/rest/stats_spec.rb
340
374
  - lib/submodules/ably-ruby/spec/acceptance/rest/time_spec.rb
341
375
  - lib/submodules/ably-ruby/spec/rspec_config.rb
376
+ - lib/submodules/ably-ruby/spec/run_parallel_tests
342
377
  - lib/submodules/ably-ruby/spec/shared/client_initializer_behaviour.rb
343
378
  - lib/submodules/ably-ruby/spec/shared/model_behaviour.rb
344
379
  - lib/submodules/ably-ruby/spec/shared/protocol_msgbus_behaviour.rb
@@ -346,6 +381,7 @@ files:
346
381
  - lib/submodules/ably-ruby/spec/spec_helper.rb
347
382
  - lib/submodules/ably-ruby/spec/support/api_helper.rb
348
383
  - lib/submodules/ably-ruby/spec/support/debug_failure_helper.rb
384
+ - lib/submodules/ably-ruby/spec/support/event_emitter_helper.rb
349
385
  - lib/submodules/ably-ruby/spec/support/event_machine_helper.rb
350
386
  - lib/submodules/ably-ruby/spec/support/markdown_spec_formatter.rb
351
387
  - lib/submodules/ably-ruby/spec/support/private_api_formatter.rb
@@ -353,6 +389,7 @@ files:
353
389
  - lib/submodules/ably-ruby/spec/support/random_helper.rb
354
390
  - lib/submodules/ably-ruby/spec/support/rest_testapp_before_retry.rb
355
391
  - lib/submodules/ably-ruby/spec/support/test_app.rb
392
+ - lib/submodules/ably-ruby/spec/support/test_logger_helper.rb
356
393
  - lib/submodules/ably-ruby/spec/unit/auth_spec.rb
357
394
  - lib/submodules/ably-ruby/spec/unit/logger_spec.rb
358
395
  - lib/submodules/ably-ruby/spec/unit/models/auth_details_spec.rb
@@ -360,6 +397,8 @@ files:
360
397
  - lib/submodules/ably-ruby/spec/unit/models/cipher_params_spec.rb
361
398
  - lib/submodules/ably-ruby/spec/unit/models/connection_details_spec.rb
362
399
  - lib/submodules/ably-ruby/spec/unit/models/connection_state_change_spec.rb
400
+ - lib/submodules/ably-ruby/spec/unit/models/device_details_spec.rb
401
+ - lib/submodules/ably-ruby/spec/unit/models/device_push_details_spec.rb
363
402
  - lib/submodules/ably-ruby/spec/unit/models/error_info_spec.rb
364
403
  - lib/submodules/ably-ruby/spec/unit/models/http_paginated_result_spec.rb
365
404
  - lib/submodules/ably-ruby/spec/unit/models/idiomatic_ruby_wrapper_spec.rb
@@ -371,6 +410,7 @@ files:
371
410
  - lib/submodules/ably-ruby/spec/unit/models/paginated_result_spec.rb
372
411
  - lib/submodules/ably-ruby/spec/unit/models/presence_message_spec.rb
373
412
  - lib/submodules/ably-ruby/spec/unit/models/protocol_message_spec.rb
413
+ - lib/submodules/ably-ruby/spec/unit/models/push_channel_subscription_spec.rb
374
414
  - lib/submodules/ably-ruby/spec/unit/models/stats_spec.rb
375
415
  - lib/submodules/ably-ruby/spec/unit/models/token_details_spec.rb
376
416
  - lib/submodules/ably-ruby/spec/unit/models/token_request_spec.rb
@@ -385,12 +425,14 @@ files:
385
425
  - lib/submodules/ably-ruby/spec/unit/realtime/connection_spec.rb
386
426
  - lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb
387
427
  - lib/submodules/ably-ruby/spec/unit/realtime/presence_spec.rb
428
+ - lib/submodules/ably-ruby/spec/unit/realtime/push_channel_spec.rb
388
429
  - lib/submodules/ably-ruby/spec/unit/realtime/realtime_spec.rb
389
430
  - lib/submodules/ably-ruby/spec/unit/realtime/safe_deferrable_spec.rb
390
431
  - lib/submodules/ably-ruby/spec/unit/realtime/websocket_transport_spec.rb
391
432
  - lib/submodules/ably-ruby/spec/unit/rest/channel_spec.rb
392
433
  - lib/submodules/ably-ruby/spec/unit/rest/channels_spec.rb
393
434
  - lib/submodules/ably-ruby/spec/unit/rest/client_spec.rb
435
+ - lib/submodules/ably-ruby/spec/unit/rest/push_channel_spec.rb
394
436
  - lib/submodules/ably-ruby/spec/unit/rest/rest_spec.rb
395
437
  - lib/submodules/ably-ruby/spec/unit/util/crypto_spec.rb
396
438
  - lib/submodules/ably-ruby/spec/unit/util/pub_sub_spec.rb
@@ -420,8 +462,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
420
462
  - !ruby/object:Gem::Version
421
463
  version: '0'
422
464
  requirements: []
423
- rubyforge_project:
424
- rubygems_version: 2.4.8
465
+ rubygems_version: 3.1.2
425
466
  signing_key:
426
467
  specification_version: 4
427
468
  summary: A Ruby REST only client library for ably.io realtime messaging