ably-rest 1.2.2 → 1.2.4

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 (72) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -0
  3. data/ably-rest.gemspec +1 -1
  4. data/lib/submodules/ably-ruby/.ably/capabilities.yaml +112 -0
  5. data/lib/submodules/ably-ruby/.github/workflows/check.yml +13 -3
  6. data/lib/submodules/ably-ruby/.github/workflows/docs.yml +36 -0
  7. data/lib/submodules/ably-ruby/.github/workflows/features.yml +14 -0
  8. data/lib/submodules/ably-ruby/.rspec_parallel +3 -0
  9. data/lib/submodules/ably-ruby/CHANGELOG.md +26 -0
  10. data/lib/submodules/ably-ruby/INTRO.md +14 -0
  11. data/lib/submodules/ably-ruby/README.md +2 -0
  12. data/lib/submodules/ably-ruby/lib/ably/auth.rb +26 -23
  13. data/lib/submodules/ably-ruby/lib/ably/models/auth_details.rb +9 -6
  14. data/lib/submodules/ably-ruby/lib/ably/models/channel_details.rb +15 -5
  15. data/lib/submodules/ably-ruby/lib/ably/models/channel_metrics.rb +31 -8
  16. data/lib/submodules/ably-ruby/lib/ably/models/channel_occupancy.rb +10 -3
  17. data/lib/submodules/ably-ruby/lib/ably/models/channel_options.rb +26 -3
  18. data/lib/submodules/ably-ruby/lib/ably/models/channel_state_change.rb +45 -15
  19. data/lib/submodules/ably-ruby/lib/ably/models/channel_status.rb +14 -4
  20. data/lib/submodules/ably-ruby/lib/ably/models/cipher_params.rb +36 -13
  21. data/lib/submodules/ably-ruby/lib/ably/models/connection_details.rb +91 -10
  22. data/lib/submodules/ably-ruby/lib/ably/models/connection_state_change.rb +54 -15
  23. data/lib/submodules/ably-ruby/lib/ably/models/delta_extras.rb +6 -7
  24. data/lib/submodules/ably-ruby/lib/ably/models/device_details.rb +60 -21
  25. data/lib/submodules/ably-ruby/lib/ably/models/device_push_details.rb +27 -19
  26. data/lib/submodules/ably-ruby/lib/ably/models/error_info.rb +59 -17
  27. data/lib/submodules/ably-ruby/lib/ably/models/http_paginated_response.rb +27 -5
  28. data/lib/submodules/ably-ruby/lib/ably/models/idiomatic_ruby_wrapper.rb +3 -2
  29. data/lib/submodules/ably-ruby/lib/ably/models/message.rb +64 -24
  30. data/lib/submodules/ably-ruby/lib/ably/models/message_encoders/base.rb +6 -0
  31. data/lib/submodules/ably-ruby/lib/ably/models/paginated_result.rb +29 -14
  32. data/lib/submodules/ably-ruby/lib/ably/models/presence_message.rb +72 -22
  33. data/lib/submodules/ably-ruby/lib/ably/models/protocol_message.rb +0 -4
  34. data/lib/submodules/ably-ruby/lib/ably/models/push_channel_subscription.rb +40 -15
  35. data/lib/submodules/ably-ruby/lib/ably/models/stats.rb +76 -40
  36. data/lib/submodules/ably-ruby/lib/ably/models/stats_types.rb +16 -40
  37. data/lib/submodules/ably-ruby/lib/ably/models/token_details.rb +34 -12
  38. data/lib/submodules/ably-ruby/lib/ably/models/token_request.rb +63 -2
  39. data/lib/submodules/ably-ruby/lib/ably/modules/async_wrapper.rb +1 -0
  40. data/lib/submodules/ably-ruby/lib/ably/modules/enum.rb +2 -0
  41. data/lib/submodules/ably-ruby/lib/ably/modules/event_emitter.rb +14 -1
  42. data/lib/submodules/ably-ruby/lib/ably/modules/model_common.rb +5 -0
  43. data/lib/submodules/ably-ruby/lib/ably/modules/state_emitter.rb +2 -0
  44. data/lib/submodules/ably-ruby/lib/ably/modules/state_machine.rb +4 -0
  45. data/lib/submodules/ably-ruby/lib/ably/realtime/channel/channel_properties.rb +9 -2
  46. data/lib/submodules/ably-ruby/lib/ably/realtime/channel/publisher.rb +2 -0
  47. data/lib/submodules/ably-ruby/lib/ably/realtime/channel/push_channel.rb +17 -10
  48. data/lib/submodules/ably-ruby/lib/ably/realtime/channel.rb +79 -42
  49. data/lib/submodules/ably-ruby/lib/ably/realtime/channels.rb +4 -3
  50. data/lib/submodules/ably-ruby/lib/ably/realtime/client/incoming_message_dispatcher.rb +6 -14
  51. data/lib/submodules/ably-ruby/lib/ably/realtime/client.rb +53 -32
  52. data/lib/submodules/ably-ruby/lib/ably/realtime/connection/connection_manager.rb +4 -0
  53. data/lib/submodules/ably-ruby/lib/ably/realtime/connection/websocket_transport.rb +4 -2
  54. data/lib/submodules/ably-ruby/lib/ably/realtime/connection.rb +94 -55
  55. data/lib/submodules/ably-ruby/lib/ably/realtime/presence.rb +61 -36
  56. data/lib/submodules/ably-ruby/lib/ably/realtime/push/admin.rb +16 -2
  57. data/lib/submodules/ably-ruby/lib/ably/realtime/push.rb +15 -3
  58. data/lib/submodules/ably-ruby/lib/ably/rest/channel/push_channel.rb +0 -3
  59. data/lib/submodules/ably-ruby/lib/ably/rest/channel.rb +29 -21
  60. data/lib/submodules/ably-ruby/lib/ably/rest/channels.rb +6 -3
  61. data/lib/submodules/ably-ruby/lib/ably/rest/client.rb +41 -35
  62. data/lib/submodules/ably-ruby/lib/ably/rest/presence.rb +27 -12
  63. data/lib/submodules/ably-ruby/lib/ably/rest/push/admin.rb +4 -0
  64. data/lib/submodules/ably-ruby/lib/ably/rest/push/device_registrations.rb +13 -2
  65. data/lib/submodules/ably-ruby/lib/ably/rest/push.rb +2 -0
  66. data/lib/submodules/ably-ruby/lib/ably/util/crypto.rb +14 -10
  67. data/lib/submodules/ably-ruby/lib/ably/version.rb +1 -1
  68. data/lib/submodules/ably-ruby/spec/acceptance/realtime/connection_spec.rb +0 -15
  69. data/lib/submodules/ably-ruby/spec/acceptance/realtime/message_spec.rb +3 -3
  70. data/lib/submodules/ably-ruby/spec/unit/models/protocol_message_spec.rb +0 -26
  71. data/lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb +0 -38
  72. metadata +16 -19
@@ -400,32 +400,6 @@ describe Ably::Models::ProtocolMessage do
400
400
  end
401
401
  end
402
402
 
403
- context '#has_correct_message_size? (#TO3l8)' do
404
- context 'on presence' do
405
- it 'should return true when a message has correct size' do
406
- protocol_message = new_protocol_message(presence: [{ action: 1, data: 'x' * 100 }])
407
- expect(protocol_message.has_correct_message_size?).to eq(true)
408
- end
409
-
410
- it 'should return false when a message has not correct size' do
411
- protocol_message = new_protocol_message(presence: [{ action: 1, data: 'x' * 65537 }])
412
- expect(protocol_message.has_correct_message_size?).to eq(false)
413
- end
414
- end
415
-
416
- context 'on message' do
417
- it 'should return true when a message has correct size' do
418
- protocol_message = new_protocol_message(messages: [{ name: 'x' * 100 }])
419
- expect(protocol_message.has_correct_message_size?).to eq(true)
420
- end
421
-
422
- it 'should return false when a message has not correct size' do
423
- protocol_message = new_protocol_message(messages: [{ name: 'x' * 65537 }])
424
- expect(protocol_message.has_correct_message_size?).to eq(false)
425
- end
426
- end
427
- end
428
-
429
403
  context '#connection_details (#TR4o)' do
430
404
  let(:connection_details) { protocol_message.connection_details }
431
405
 
@@ -32,43 +32,5 @@ describe Ably::Realtime::Client::IncomingMessageDispatcher, :api_private do
32
32
  expect(subject).to receive_message_chain(:logger, :warn)
33
33
  msgbus.publish :protocol_message, Ably::Models::ProtocolMessage.new(:action => :attached, channel: 'unknown')
34
34
  end
35
-
36
- context 'TO3l8' do
37
- context 'on action presence' do
38
- let(:presence) { 101.times.map { { data: 'x' * 655 } } }
39
-
40
- let(:protocol_message) do
41
- Ably::Models::ProtocolMessage.new(action: :presence, channel: 'default', presence: presence, connection_serial: 123123123)
42
- end
43
-
44
- it 'should raise a protocol error when message size exceeded 65536 bytes' do
45
- allow(connection).to receive(:serial).and_return(12312312)
46
- allow(subject).to receive(:update_connection_recovery_info)
47
- allow(subject).to receive_message_chain(:logger, :debug)
48
- allow(subject).to receive_message_chain(:logger, :warn)
49
- expect(subject).to receive_message_chain(:logger, :fatal)
50
-
51
- msgbus.publish :protocol_message, protocol_message
52
- end
53
- end
54
-
55
- context 'on action message' do
56
- let(:messages) { 101.times.map { { data: 'x' * 655 } } }
57
-
58
- let(:protocol_message) do
59
- Ably::Models::ProtocolMessage.new(action: :message, channel: 'default', messages: messages, connection_serial: 123123123)
60
- end
61
-
62
- it 'should raise a protocol error when message size exceeded 65536 bytes' do
63
- allow(connection).to receive(:serial).and_return(12312312)
64
- allow(subject).to receive(:update_connection_recovery_info)
65
- allow(subject).to receive_message_chain(:logger, :debug)
66
- allow(subject).to receive_message_chain(:logger, :warn)
67
- expect(subject).to receive_message_chain(:logger, :fatal)
68
-
69
- msgbus.publish :protocol_message, protocol_message
70
- end
71
- end
72
- end
73
35
  end
74
36
  end
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.2.2
4
+ version: 1.2.4
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: 2022-06-08 00:00:00.000000000 Z
11
+ date: 2023-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -84,16 +84,22 @@ dependencies:
84
84
  name: msgpack
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: 1.5.2
90
+ - - "<"
91
+ - !ruby/object:Gem::Version
92
+ version: '2.0'
90
93
  type: :runtime
91
94
  prerelease: false
92
95
  version_requirements: !ruby/object:Gem::Requirement
93
96
  requirements:
94
- - - '='
97
+ - - ">="
95
98
  - !ruby/object:Gem::Version
96
99
  version: 1.5.2
100
+ - - "<"
101
+ - !ruby/object:Gem::Version
102
+ version: '2.0'
97
103
  - !ruby/object:Gem::Dependency
98
104
  name: addressable
99
105
  requirement: !ruby/object:Gem::Requirement
@@ -248,20 +254,6 @@ dependencies:
248
254
  - - ">="
249
255
  - !ruby/object:Gem::Version
250
256
  version: '0'
251
- - !ruby/object:Gem::Dependency
252
- name: webrick
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - "~>"
256
- - !ruby/object:Gem::Version
257
- version: 1.7.0
258
- type: :development
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - "~>"
263
- - !ruby/object:Gem::Version
264
- version: 1.7.0
265
257
  description: A Ruby REST only client library for ably.io realtime messaging
266
258
  email:
267
259
  - matt@ably.io
@@ -284,14 +276,19 @@ files:
284
276
  - ably-rest.gemspec
285
277
  - lib/ably-rest.rb
286
278
  - lib/ably-rest/modules/eventmachine_deferrable.rb
279
+ - lib/submodules/ably-ruby/.ably/capabilities.yaml
287
280
  - lib/submodules/ably-ruby/.editorconfig
288
281
  - lib/submodules/ably-ruby/.github/workflows/check.yml
282
+ - lib/submodules/ably-ruby/.github/workflows/docs.yml
283
+ - lib/submodules/ably-ruby/.github/workflows/features.yml
289
284
  - lib/submodules/ably-ruby/.gitignore
290
285
  - lib/submodules/ably-ruby/.gitmodules
291
286
  - lib/submodules/ably-ruby/.rspec
287
+ - lib/submodules/ably-ruby/.rspec_parallel
292
288
  - lib/submodules/ably-ruby/CHANGELOG.md
293
289
  - lib/submodules/ably-ruby/COPYRIGHT
294
290
  - lib/submodules/ably-ruby/Gemfile
291
+ - lib/submodules/ably-ruby/INTRO.md
295
292
  - lib/submodules/ably-ruby/LICENSE
296
293
  - lib/submodules/ably-ruby/MAINTAINERS.md
297
294
  - lib/submodules/ably-ruby/README.md
@@ -524,7 +521,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
524
521
  - !ruby/object:Gem::Version
525
522
  version: '0'
526
523
  requirements: []
527
- rubygems_version: 3.3.14
524
+ rubygems_version: 3.1.6
528
525
  signing_key:
529
526
  specification_version: 4
530
527
  summary: A Ruby REST only client library for ably.io realtime messaging