ably-rest 1.1.2 → 1.2.2

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 (111) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -0
  3. data/CHANGELOG.md +1 -1
  4. data/MAINTAINERS.md +1 -0
  5. data/README.md +4 -2
  6. data/ably-rest.gemspec +15 -18
  7. data/lib/ably-rest.rb +2 -0
  8. data/lib/submodules/ably-ruby/.github/workflows/check.yml +50 -0
  9. data/lib/submodules/ably-ruby/CHANGELOG.md +200 -0
  10. data/lib/submodules/ably-ruby/COPYRIGHT +1 -0
  11. data/lib/submodules/ably-ruby/LICENSE +172 -11
  12. data/lib/submodules/ably-ruby/MAINTAINERS.md +1 -0
  13. data/lib/submodules/ably-ruby/README.md +24 -22
  14. data/lib/submodules/ably-ruby/SPEC.md +1020 -929
  15. data/lib/submodules/ably-ruby/UPDATING.md +30 -0
  16. data/lib/submodules/ably-ruby/ably.gemspec +16 -23
  17. data/lib/submodules/ably-ruby/lib/ably/agent.rb +3 -0
  18. data/lib/submodules/ably-ruby/lib/ably/auth.rb +20 -10
  19. data/lib/submodules/ably-ruby/lib/ably/exceptions.rb +8 -2
  20. data/lib/submodules/ably-ruby/lib/ably/logger.rb +4 -4
  21. data/lib/submodules/ably-ruby/lib/ably/models/channel_details.rb +59 -0
  22. data/lib/submodules/ably-ruby/lib/ably/models/channel_metrics.rb +84 -0
  23. data/lib/submodules/ably-ruby/lib/ably/models/channel_occupancy.rb +43 -0
  24. data/lib/submodules/ably-ruby/lib/ably/models/channel_options.rb +97 -0
  25. data/lib/submodules/ably-ruby/lib/ably/models/channel_status.rb +53 -0
  26. data/lib/submodules/ably-ruby/lib/ably/models/connection_details.rb +8 -0
  27. data/lib/submodules/ably-ruby/lib/ably/models/delta_extras.rb +29 -0
  28. data/lib/submodules/ably-ruby/lib/ably/models/device_details.rb +1 -1
  29. data/lib/submodules/ably-ruby/lib/ably/models/error_info.rb +6 -2
  30. data/lib/submodules/ably-ruby/lib/ably/models/idiomatic_ruby_wrapper.rb +4 -0
  31. data/lib/submodules/ably-ruby/lib/ably/models/message.rb +28 -3
  32. data/lib/submodules/ably-ruby/lib/ably/models/presence_message.rb +14 -0
  33. data/lib/submodules/ably-ruby/lib/ably/models/protocol_message.rb +31 -14
  34. data/lib/submodules/ably-ruby/lib/ably/models/token_details.rb +7 -2
  35. data/lib/submodules/ably-ruby/lib/ably/models/token_request.rb +1 -1
  36. data/lib/submodules/ably-ruby/lib/ably/modules/ably.rb +11 -1
  37. data/lib/submodules/ably-ruby/lib/ably/modules/channels_collection.rb +22 -2
  38. data/lib/submodules/ably-ruby/lib/ably/modules/conversions.rb +34 -0
  39. data/lib/submodules/ably-ruby/lib/ably/realtime/auth.rb +2 -2
  40. data/lib/submodules/ably-ruby/lib/ably/realtime/channel/channel_manager.rb +19 -7
  41. data/lib/submodules/ably-ruby/lib/ably/realtime/channel/channel_properties.rb +24 -0
  42. data/lib/submodules/ably-ruby/lib/ably/realtime/channel/channel_state_machine.rb +10 -1
  43. data/lib/submodules/ably-ruby/lib/ably/realtime/channel/publisher.rb +6 -0
  44. data/lib/submodules/ably-ruby/lib/ably/realtime/channel.rb +56 -28
  45. data/lib/submodules/ably-ruby/lib/ably/realtime/channels.rb +1 -1
  46. data/lib/submodules/ably-ruby/lib/ably/realtime/client/incoming_message_dispatcher.rb +14 -6
  47. data/lib/submodules/ably-ruby/lib/ably/realtime/client.rb +9 -0
  48. data/lib/submodules/ably-ruby/lib/ably/realtime/connection/connection_manager.rb +13 -4
  49. data/lib/submodules/ably-ruby/lib/ably/realtime/connection/connection_state_machine.rb +4 -0
  50. data/lib/submodules/ably-ruby/lib/ably/realtime/connection/websocket_transport.rb +67 -1
  51. data/lib/submodules/ably-ruby/lib/ably/realtime/connection.rb +6 -5
  52. data/lib/submodules/ably-ruby/lib/ably/realtime/presence.rb +0 -14
  53. data/lib/submodules/ably-ruby/lib/ably/rest/channel.rb +44 -29
  54. data/lib/submodules/ably-ruby/lib/ably/rest/client.rb +60 -29
  55. data/lib/submodules/ably-ruby/lib/ably/rest/middleware/encoder.rb +1 -1
  56. data/lib/submodules/ably-ruby/lib/ably/rest/middleware/exceptions.rb +1 -1
  57. data/lib/submodules/ably-ruby/lib/ably/rest/middleware/external_exceptions.rb +1 -1
  58. data/lib/submodules/ably-ruby/lib/ably/rest/middleware/fail_if_unsupported_mime_type.rb +5 -2
  59. data/lib/submodules/ably-ruby/lib/ably/rest/middleware/logger.rb +1 -1
  60. data/lib/submodules/ably-ruby/lib/ably/rest/middleware/parse_json.rb +1 -1
  61. data/lib/submodules/ably-ruby/lib/ably/rest/middleware/parse_message_pack.rb +1 -1
  62. data/lib/submodules/ably-ruby/lib/ably/util/crypto.rb +1 -1
  63. data/lib/submodules/ably-ruby/lib/ably/version.rb +2 -14
  64. data/lib/submodules/ably-ruby/lib/ably.rb +1 -0
  65. data/lib/submodules/ably-ruby/spec/acceptance/realtime/auth_spec.rb +4 -4
  66. data/lib/submodules/ably-ruby/spec/acceptance/realtime/channel_history_spec.rb +25 -0
  67. data/lib/submodules/ably-ruby/spec/acceptance/realtime/channel_spec.rb +476 -21
  68. data/lib/submodules/ably-ruby/spec/acceptance/realtime/channels_spec.rb +59 -7
  69. data/lib/submodules/ably-ruby/spec/acceptance/realtime/client_spec.rb +72 -16
  70. data/lib/submodules/ably-ruby/spec/acceptance/realtime/connection_failures_spec.rb +85 -13
  71. data/lib/submodules/ably-ruby/spec/acceptance/realtime/connection_spec.rb +301 -34
  72. data/lib/submodules/ably-ruby/spec/acceptance/realtime/message_spec.rb +77 -0
  73. data/lib/submodules/ably-ruby/spec/acceptance/realtime/presence_history_spec.rb +3 -59
  74. data/lib/submodules/ably-ruby/spec/acceptance/realtime/presence_spec.rb +84 -158
  75. data/lib/submodules/ably-ruby/spec/acceptance/realtime/push_admin_spec.rb +3 -19
  76. data/lib/submodules/ably-ruby/spec/acceptance/rest/auth_spec.rb +24 -75
  77. data/lib/submodules/ably-ruby/spec/acceptance/rest/base_spec.rb +8 -4
  78. data/lib/submodules/ably-ruby/spec/acceptance/rest/channel_spec.rb +141 -10
  79. data/lib/submodules/ably-ruby/spec/acceptance/rest/channels_spec.rb +23 -6
  80. data/lib/submodules/ably-ruby/spec/acceptance/rest/client_spec.rb +146 -47
  81. data/lib/submodules/ably-ruby/spec/acceptance/rest/message_spec.rb +61 -3
  82. data/lib/submodules/ably-ruby/spec/acceptance/rest/push_admin_spec.rb +3 -19
  83. data/lib/submodules/ably-ruby/spec/lib/unit/models/channel_options_spec.rb +52 -0
  84. data/lib/submodules/ably-ruby/spec/run_parallel_tests +2 -7
  85. data/lib/submodules/ably-ruby/spec/shared/client_initializer_behaviour.rb +131 -8
  86. data/lib/submodules/ably-ruby/spec/shared/model_behaviour.rb +1 -1
  87. data/lib/submodules/ably-ruby/spec/spec_helper.rb +12 -2
  88. data/lib/submodules/ably-ruby/spec/support/serialization_helper.rb +21 -0
  89. data/lib/submodules/ably-ruby/spec/support/test_app.rb +3 -3
  90. data/lib/submodules/ably-ruby/spec/unit/logger_spec.rb +6 -14
  91. data/lib/submodules/ably-ruby/spec/unit/models/channel_details_spec.rb +30 -0
  92. data/lib/submodules/ably-ruby/spec/unit/models/channel_metrics_spec.rb +42 -0
  93. data/lib/submodules/ably-ruby/spec/unit/models/channel_occupancy_spec.rb +17 -0
  94. data/lib/submodules/ably-ruby/spec/unit/models/channel_status_spec.rb +36 -0
  95. data/lib/submodules/ably-ruby/spec/unit/models/delta_extras_spec.rb +14 -0
  96. data/lib/submodules/ably-ruby/spec/unit/models/error_info_spec.rb +17 -1
  97. data/lib/submodules/ably-ruby/spec/unit/models/message_spec.rb +97 -0
  98. data/lib/submodules/ably-ruby/spec/unit/models/presence_message_spec.rb +49 -0
  99. data/lib/submodules/ably-ruby/spec/unit/models/protocol_message_spec.rb +125 -27
  100. data/lib/submodules/ably-ruby/spec/unit/models/token_details_spec.rb +14 -0
  101. data/lib/submodules/ably-ruby/spec/unit/realtime/channel_spec.rb +3 -2
  102. data/lib/submodules/ably-ruby/spec/unit/realtime/channels_spec.rb +53 -15
  103. data/lib/submodules/ably-ruby/spec/unit/realtime/client_spec.rb +19 -6
  104. data/lib/submodules/ably-ruby/spec/unit/realtime/incoming_message_dispatcher_spec.rb +38 -0
  105. data/lib/submodules/ably-ruby/spec/unit/rest/channel_spec.rb +44 -1
  106. data/lib/submodules/ably-ruby/spec/unit/rest/channels_spec.rb +81 -14
  107. data/lib/submodules/ably-ruby/spec/unit/rest/client_spec.rb +47 -0
  108. data/spec/spec_helper.rb +5 -0
  109. data/spec/unit/client_spec.rb +30 -0
  110. metadata +88 -25
  111. data/lib/submodules/ably-ruby/.travis.yml +0 -19
@@ -2,30 +2,97 @@
2
2
  require 'spec_helper'
3
3
 
4
4
  describe Ably::Rest::Channels do
5
- let(:client) { instance_double('Ably::Rest::Client') }
5
+ let(:client) { instance_double('Ably::Rest::Client', logger: double('logger').as_null_object) }
6
6
  let(:channel_name) { 'unique'.encode(Encoding::UTF_8) }
7
- let(:options) { { 'bizarre' => 'value' } }
7
+ let(:options) do
8
+ { params: { 'bizarre' => 'value' } }
9
+ end
8
10
 
9
11
  subject { Ably::Rest::Channels.new(client) }
10
12
 
11
- context 'creating channels' do
12
- it '#get creates a channel' do
13
- expect(Ably::Rest::Channel).to receive(:new).with(client, channel_name, options)
14
- subject.get(channel_name, options)
15
- end
13
+ describe '#get' do
14
+ context "when channel doesn't exist" do
15
+ shared_examples 'creates a channel' do
16
+ it 'creates a channel (RSN3a)' do
17
+ expect(Ably::Rest::Channel).to receive(:new).with(client, channel_name, options)
18
+ subject.get(channel_name, options)
19
+ end
20
+ end
16
21
 
17
- it '#get will reuse the channel object' do
18
- channel = subject.get(channel_name, options)
19
- expect(channel).to be_a(Ably::Rest::Channel)
20
- expect(subject.get(channel_name, options).object_id).to eql(channel.object_id)
22
+ describe 'hash' do
23
+ let(:channel_options) { options }
24
+ it { expect(channel_options).to be_a(Hash) }
25
+
26
+ include_examples 'creates a channel'
27
+ end
28
+
29
+ describe 'ChannelOptions object' do
30
+ let(:channel_options) { Ably::Models::ChannelOptions.new(options) }
31
+ it { expect(channel_options).to be_a(Ably::Models::ChannelOptions) }
32
+
33
+ include_examples 'creates a channel'
34
+ end
21
35
  end
22
36
 
23
- it '[] creates a channel' do
24
- expect(Ably::Rest::Channel).to receive(:new).with(client, channel_name, options)
25
- subject.get(channel_name, options)
37
+ context 'when an existing channel exists' do
38
+ shared_examples 'reuse a channel object if it exists' do
39
+ it 'will reuse a channel object if it exists (RSN3a)' do
40
+ channel = subject.get(channel_name, channel_options)
41
+ expect(channel).to be_a(Ably::Rest::Channel)
42
+ expect(subject.get(channel_name, channel_options).object_id).to eql(channel.object_id)
43
+ end
44
+ end
45
+
46
+ describe 'hash' do
47
+ let(:channel_options) { options }
48
+ it { expect(channel_options).to be_a(Hash) }
49
+
50
+ include_examples 'reuse a channel object if it exists'
51
+ end
52
+
53
+ describe 'ChannelOptions object' do
54
+ let(:channel_options) { Ably::Models::ChannelOptions.new(options) }
55
+ it { expect(channel_options).to be_a(Ably::Models::ChannelOptions) }
56
+
57
+ include_examples 'reuse a channel object if it exists'
58
+ end
59
+
60
+ context 'with new channel_options modes' do
61
+ shared_examples 'update channel with provided options :modes' do
62
+ it 'will update channel with provided options modes (RSN3c)' do
63
+ channel = subject.get(channel_name, channel_options)
64
+ expect(channel.options.modes).to eq(modes)
65
+
66
+ subject.get(channel_name, channel_options)
67
+ expect(channel.options.modes).to eq(modes)
68
+ end
69
+ end
70
+
71
+ let(:modes) { %i[subscribe] }
72
+ let(:new_options) { { modes: modes } }
73
+
74
+ describe 'hash' do
75
+ let(:channel_options) { new_options }
76
+ it { expect(channel_options).to be_a(Hash) }
77
+
78
+ include_examples 'update channel with provided options :modes'
79
+ end
80
+
81
+ describe 'ChannelOptions object' do
82
+ let(:channel_options) { Ably::Models::ChannelOptions.new(new_options) }
83
+ it { expect(channel_options).to be_a(Ably::Models::ChannelOptions) }
84
+
85
+ include_examples 'update channel with provided options :modes'
86
+ end
87
+ end
26
88
  end
27
89
  end
28
90
 
91
+ it '[] creates a channel' do
92
+ expect(Ably::Rest::Channel).to receive(:new).with(client, channel_name, options)
93
+ subject.get(channel_name, options)
94
+ end
95
+
29
96
  context '#fetch' do
30
97
  it 'retrieves a channel if it exists' do
31
98
  channel = subject.get(channel_name, options)
@@ -38,6 +38,26 @@ describe Ably::Rest::Client do
38
38
  end
39
39
  end
40
40
 
41
+ context 'use agent' do
42
+ context 'set agent to non-default value' do
43
+ context 'default agent' do
44
+ let(:client_options) { { key: 'appid.keyuid:keysecret' } }
45
+
46
+ it 'should return default ably agent' do
47
+ expect(subject.agent).to eq(Ably::AGENT)
48
+ end
49
+ end
50
+
51
+ context 'custom agent' do
52
+ let(:client_options) { { key: 'appid.keyuid:keysecret', agent: 'example-gem/1.1.4 ably-ruby/1.1.5 ruby/3.0.0' } }
53
+
54
+ it 'should overwrite client.agent' do
55
+ expect(subject.agent).to eq('example-gem/1.1.4 ably-ruby/1.1.5 ruby/3.0.0')
56
+ end
57
+ end
58
+ end
59
+ end
60
+
41
61
  context ':use_token_auth' do
42
62
  context 'set to false' do
43
63
  context 'with a key and :tls => false' do
@@ -67,6 +87,33 @@ describe Ably::Rest::Client do
67
87
  end
68
88
  end
69
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
70
117
  end
71
118
 
72
119
  context 'request_id generation' do
data/spec/spec_helper.rb CHANGED
@@ -15,6 +15,11 @@ require 'support/private_api_formatter'
15
15
  require 'support/protocol_helper'
16
16
  require 'support/random_helper'
17
17
  require 'support/test_logger_helper'
18
+ require 'support/serialization_helper'
19
+
20
+ RSpec.configure do |config|
21
+ config.include SerializationHelper
22
+ end
18
23
 
19
24
  # Load in all shared behaviours
20
25
  Dir.glob(File.expand_path("../lib/submodules/ably-ruby/spec/shared/*.rb", File.dirname(__FILE__))).each do |file|
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe Ably::Rest::Client do
5
+ subject do
6
+ Ably::Rest::Client.new(client_options)
7
+ end
8
+
9
+ context 'initializer options' do
10
+ context 'default agent' do
11
+ let(:client_options) { { key: 'appid.keyuid:keysecret' } }
12
+
13
+ it 'should return Ably::AGENT identifier' do
14
+ expect(subject.agent).to eq(Ably::AGENT)
15
+ end
16
+
17
+ it 'should show ably-ruby ruby and ably-ruby-rest identifier' do
18
+ expect(subject.agent).to match(/^ably-ruby\/\d.\d.\d ruby\/\d.\d.\d ably-ruby-rest$/)
19
+ end
20
+ end
21
+
22
+ context 'custom agent' do
23
+ let(:client_options) { { key: 'appid.keyuid:keysecret', agent: 'my-custom-agent/1.1' } }
24
+
25
+ it 'should show my-custom-agent/1.1' do
26
+ expect(subject.agent).to eq('my-custom-agent/1.1')
27
+ end
28
+ end
29
+ end
30
+ 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.1.2
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew O'Riordan
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-06 00:00:00.000000000 Z
11
+ date: 2022-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.12'
19
+ version: '2.2'
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.12'
26
+ version: '2.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: excon
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.55'
41
+ - !ruby/object:Gem::Dependency
42
+ name: typhoeus
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.4'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.4'
55
+ - !ruby/object:Gem::Dependency
56
+ name: faraday-typhoeus
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 0.2.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 0.2.0
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: json
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -56,16 +84,16 @@ dependencies:
56
84
  name: msgpack
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
- - - ">="
87
+ - - '='
60
88
  - !ruby/object:Gem::Version
61
- version: 0.6.2
89
+ version: 1.5.2
62
90
  type: :runtime
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
- - - ">="
94
+ - - '='
67
95
  - !ruby/object:Gem::Version
68
- version: 0.6.2
96
+ version: 1.5.2
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: addressable
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +128,14 @@ dependencies:
100
128
  requirements:
101
129
  - - "~>"
102
130
  - !ruby/object:Gem::Version
103
- version: '11.3'
131
+ version: 13.0.6
104
132
  type: :development
105
133
  prerelease: false
106
134
  version_requirements: !ruby/object:Gem::Requirement
107
135
  requirements:
108
136
  - - "~>"
109
137
  - !ruby/object:Gem::Version
110
- version: '11.3'
138
+ version: 13.0.6
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: redcarpet
113
141
  requirement: !ruby/object:Gem::Requirement
@@ -128,28 +156,28 @@ dependencies:
128
156
  requirements:
129
157
  - - "~>"
130
158
  - !ruby/object:Gem::Version
131
- version: 3.2.0
159
+ version: '3.11'
132
160
  type: :development
133
161
  prerelease: false
134
162
  version_requirements: !ruby/object:Gem::Requirement
135
163
  requirements:
136
164
  - - "~>"
137
165
  - !ruby/object:Gem::Version
138
- version: 3.2.0
166
+ version: '3.11'
139
167
  - !ruby/object:Gem::Dependency
140
168
  name: rspec-retry
141
169
  requirement: !ruby/object:Gem::Requirement
142
170
  requirements:
143
171
  - - "~>"
144
172
  - !ruby/object:Gem::Version
145
- version: '0.4'
173
+ version: 0.6.2
146
174
  type: :development
147
175
  prerelease: false
148
176
  version_requirements: !ruby/object:Gem::Requirement
149
177
  requirements:
150
178
  - - "~>"
151
179
  - !ruby/object:Gem::Version
152
- version: '0.4'
180
+ version: 0.6.2
153
181
  - !ruby/object:Gem::Dependency
154
182
  name: yard
155
183
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +198,14 @@ dependencies:
170
198
  requirements:
171
199
  - - "~>"
172
200
  - !ruby/object:Gem::Version
173
- version: '2.2'
201
+ version: 3.14.0
174
202
  type: :development
175
203
  prerelease: false
176
204
  version_requirements: !ruby/object:Gem::Requirement
177
205
  requirements:
178
206
  - - "~>"
179
207
  - !ruby/object:Gem::Version
180
- version: '2.2'
208
+ version: 3.14.0
181
209
  - !ruby/object:Gem::Dependency
182
210
  name: coveralls
183
211
  requirement: !ruby/object:Gem::Requirement
@@ -196,16 +224,16 @@ dependencies:
196
224
  name: pry
197
225
  requirement: !ruby/object:Gem::Requirement
198
226
  requirements:
199
- - - ">="
227
+ - - "~>"
200
228
  - !ruby/object:Gem::Version
201
- version: '0'
229
+ version: 0.14.1
202
230
  type: :development
203
231
  prerelease: false
204
232
  version_requirements: !ruby/object:Gem::Requirement
205
233
  requirements:
206
- - - ">="
234
+ - - "~>"
207
235
  - !ruby/object:Gem::Version
208
- version: '0'
236
+ version: 0.14.1
209
237
  - !ruby/object:Gem::Dependency
210
238
  name: pry-byebug
211
239
  requirement: !ruby/object:Gem::Requirement
@@ -220,6 +248,20 @@ dependencies:
220
248
  - - ">="
221
249
  - !ruby/object:Gem::Version
222
250
  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
223
265
  description: A Ruby REST only client library for ably.io realtime messaging
224
266
  email:
225
267
  - matt@ably.io
@@ -235,6 +277,7 @@ files:
235
277
  - CHANGELOG.md
236
278
  - Gemfile
237
279
  - LICENSE
280
+ - MAINTAINERS.md
238
281
  - README.md
239
282
  - Rakefile
240
283
  - SPEC.md
@@ -242,26 +285,36 @@ files:
242
285
  - lib/ably-rest.rb
243
286
  - lib/ably-rest/modules/eventmachine_deferrable.rb
244
287
  - lib/submodules/ably-ruby/.editorconfig
288
+ - lib/submodules/ably-ruby/.github/workflows/check.yml
245
289
  - lib/submodules/ably-ruby/.gitignore
246
290
  - lib/submodules/ably-ruby/.gitmodules
247
291
  - lib/submodules/ably-ruby/.rspec
248
- - lib/submodules/ably-ruby/.travis.yml
249
292
  - lib/submodules/ably-ruby/CHANGELOG.md
293
+ - lib/submodules/ably-ruby/COPYRIGHT
250
294
  - lib/submodules/ably-ruby/Gemfile
251
295
  - lib/submodules/ably-ruby/LICENSE
296
+ - lib/submodules/ably-ruby/MAINTAINERS.md
252
297
  - lib/submodules/ably-ruby/README.md
253
298
  - lib/submodules/ably-ruby/Rakefile
254
299
  - lib/submodules/ably-ruby/SPEC.md
300
+ - lib/submodules/ably-ruby/UPDATING.md
255
301
  - lib/submodules/ably-ruby/ably.gemspec
256
302
  - lib/submodules/ably-ruby/lib/ably.rb
303
+ - lib/submodules/ably-ruby/lib/ably/agent.rb
257
304
  - lib/submodules/ably-ruby/lib/ably/auth.rb
258
305
  - lib/submodules/ably-ruby/lib/ably/exceptions.rb
259
306
  - lib/submodules/ably-ruby/lib/ably/logger.rb
260
307
  - lib/submodules/ably-ruby/lib/ably/models/auth_details.rb
308
+ - lib/submodules/ably-ruby/lib/ably/models/channel_details.rb
309
+ - lib/submodules/ably-ruby/lib/ably/models/channel_metrics.rb
310
+ - lib/submodules/ably-ruby/lib/ably/models/channel_occupancy.rb
311
+ - lib/submodules/ably-ruby/lib/ably/models/channel_options.rb
261
312
  - lib/submodules/ably-ruby/lib/ably/models/channel_state_change.rb
313
+ - lib/submodules/ably-ruby/lib/ably/models/channel_status.rb
262
314
  - lib/submodules/ably-ruby/lib/ably/models/cipher_params.rb
263
315
  - lib/submodules/ably-ruby/lib/ably/models/connection_details.rb
264
316
  - lib/submodules/ably-ruby/lib/ably/models/connection_state_change.rb
317
+ - lib/submodules/ably-ruby/lib/ably/models/delta_extras.rb
265
318
  - lib/submodules/ably-ruby/lib/ably/models/device_details.rb
266
319
  - lib/submodules/ably-ruby/lib/ably/models/device_push_details.rb
267
320
  - lib/submodules/ably-ruby/lib/ably/models/error_info.rb
@@ -305,6 +358,7 @@ files:
305
358
  - lib/submodules/ably-ruby/lib/ably/realtime/auth.rb
306
359
  - lib/submodules/ably-ruby/lib/ably/realtime/channel.rb
307
360
  - lib/submodules/ably-ruby/lib/ably/realtime/channel/channel_manager.rb
361
+ - lib/submodules/ably-ruby/lib/ably/realtime/channel/channel_properties.rb
308
362
  - lib/submodules/ably-ruby/lib/ably/realtime/channel/channel_state_machine.rb
309
363
  - lib/submodules/ably-ruby/lib/ably/realtime/channel/publisher.rb
310
364
  - lib/submodules/ably-ruby/lib/ably/realtime/channel/push_channel.rb
@@ -372,6 +426,7 @@ files:
372
426
  - lib/submodules/ably-ruby/spec/acceptance/rest/push_spec.rb
373
427
  - lib/submodules/ably-ruby/spec/acceptance/rest/stats_spec.rb
374
428
  - lib/submodules/ably-ruby/spec/acceptance/rest/time_spec.rb
429
+ - lib/submodules/ably-ruby/spec/lib/unit/models/channel_options_spec.rb
375
430
  - lib/submodules/ably-ruby/spec/rspec_config.rb
376
431
  - lib/submodules/ably-ruby/spec/run_parallel_tests
377
432
  - lib/submodules/ably-ruby/spec/shared/client_initializer_behaviour.rb
@@ -388,15 +443,21 @@ files:
388
443
  - lib/submodules/ably-ruby/spec/support/protocol_helper.rb
389
444
  - lib/submodules/ably-ruby/spec/support/random_helper.rb
390
445
  - lib/submodules/ably-ruby/spec/support/rest_testapp_before_retry.rb
446
+ - lib/submodules/ably-ruby/spec/support/serialization_helper.rb
391
447
  - lib/submodules/ably-ruby/spec/support/test_app.rb
392
448
  - lib/submodules/ably-ruby/spec/support/test_logger_helper.rb
393
449
  - lib/submodules/ably-ruby/spec/unit/auth_spec.rb
394
450
  - lib/submodules/ably-ruby/spec/unit/logger_spec.rb
395
451
  - lib/submodules/ably-ruby/spec/unit/models/auth_details_spec.rb
452
+ - lib/submodules/ably-ruby/spec/unit/models/channel_details_spec.rb
453
+ - lib/submodules/ably-ruby/spec/unit/models/channel_metrics_spec.rb
454
+ - lib/submodules/ably-ruby/spec/unit/models/channel_occupancy_spec.rb
396
455
  - lib/submodules/ably-ruby/spec/unit/models/channel_state_change_spec.rb
456
+ - lib/submodules/ably-ruby/spec/unit/models/channel_status_spec.rb
397
457
  - lib/submodules/ably-ruby/spec/unit/models/cipher_params_spec.rb
398
458
  - lib/submodules/ably-ruby/spec/unit/models/connection_details_spec.rb
399
459
  - lib/submodules/ably-ruby/spec/unit/models/connection_state_change_spec.rb
460
+ - lib/submodules/ably-ruby/spec/unit/models/delta_extras_spec.rb
400
461
  - lib/submodules/ably-ruby/spec/unit/models/device_details_spec.rb
401
462
  - lib/submodules/ably-ruby/spec/unit/models/device_push_details_spec.rb
402
463
  - lib/submodules/ably-ruby/spec/unit/models/error_info_spec.rb
@@ -439,6 +500,7 @@ files:
439
500
  - spec/acceptance/rest_spec.rb
440
501
  - spec/spec_helper.rb
441
502
  - spec/unit/base_spec.rb
503
+ - spec/unit/client_spec.rb
442
504
  - spec/unit/models_spec.rb
443
505
  - spec/unit/modules_spec.rb
444
506
  - spec/unit/rest_spec.rb
@@ -447,7 +509,7 @@ homepage: http://github.com/ably/ably-ruby-rest
447
509
  licenses:
448
510
  - Apache 2
449
511
  metadata: {}
450
- post_install_message:
512
+ post_install_message:
451
513
  rdoc_options: []
452
514
  require_paths:
453
515
  - lib
@@ -462,14 +524,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
462
524
  - !ruby/object:Gem::Version
463
525
  version: '0'
464
526
  requirements: []
465
- rubygems_version: 3.0.3
466
- signing_key:
527
+ rubygems_version: 3.3.14
528
+ signing_key:
467
529
  specification_version: 4
468
530
  summary: A Ruby REST only client library for ably.io realtime messaging
469
531
  test_files:
470
532
  - spec/acceptance/rest_spec.rb
471
533
  - spec/spec_helper.rb
472
534
  - spec/unit/base_spec.rb
535
+ - spec/unit/client_spec.rb
473
536
  - spec/unit/models_spec.rb
474
537
  - spec/unit/modules_spec.rb
475
538
  - spec/unit/rest_spec.rb
@@ -1,19 +0,0 @@
1
- sudo: false
2
- env:
3
- - RSPEC_RETRY=true PARALLEL_TEST_PROCESSORS=2 PROTOCOL=json
4
- - RSPEC_RETRY=true PARALLEL_TEST_PROCESSORS=2 PROTOCOL=msgpack
5
- language: ruby
6
- rvm:
7
- - 1.9.3
8
- - 2.1.10
9
- - 2.2.10
10
- - 2.3.8
11
- - 2.5.5
12
- - 2.6.0
13
- - 2.6.1
14
- - 2.6.2
15
- - 2.6.3
16
- script: spec/run_parallel_tests
17
- notifications:
18
- slack:
19
- secure: Xe8MwDcV2C8XLGk6O6Co31LpQiRSxsmS7Toy5vM7rHds5fnVRBNn5iX6Q5mXMdLOlnsMhjKLt7zl4fsBOZv+siQ+Us0omZSIYpXCYSCIj8nofReF0Lj8M4oa6lFSL5OuygO7PH+wLKTRxQURGZ6Pi1nHU+RE5izRmsewQHkhtY0=