opentok 4.1.0 → 4.3.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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +30 -0
  3. data/.github/workflows/metrics.yml +17 -0
  4. data/CHANGES.md +153 -0
  5. data/README.md +3 -1
  6. data/lib/opentok/archive.rb +50 -3
  7. data/lib/opentok/archives.rb +104 -7
  8. data/lib/opentok/broadcast.rb +44 -1
  9. data/lib/opentok/broadcast_list.rb +14 -0
  10. data/lib/opentok/broadcasts.rb +131 -13
  11. data/lib/opentok/client.rb +161 -0
  12. data/lib/opentok/connections.rb +1 -1
  13. data/lib/opentok/constants.rb +1 -0
  14. data/lib/opentok/opentok.rb +8 -8
  15. data/lib/opentok/sip.rb +40 -2
  16. data/lib/opentok/streams.rb +50 -1
  17. data/lib/opentok/token_generator.rb +1 -0
  18. data/lib/opentok/version.rb +1 -1
  19. data/opentok.gemspec +1 -1
  20. data/sample/Broadcast/README.md +42 -0
  21. data/sample/Broadcast/broadcast_sample.rb +15 -0
  22. data/sample/Broadcast/views/all.erb +46 -0
  23. data/sample/Broadcast/views/index.erb +16 -1
  24. data/spec/cassettes/OpenTok_Archives/adds_a_stream_to_an_archive.yml +37 -0
  25. data/spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml +37 -0
  26. data/spec/cassettes/OpenTok_Archives/should_create_layout_archives_with_screenshare_layout_types.yml +50 -0
  27. data/spec/cassettes/OpenTok_Broadcasts/adds_a_stream_to_a_broadcast.yml +37 -0
  28. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_all_broadcasts.yml +192 -0
  29. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_broadcasts_with_an_offset.yml +117 -0
  30. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_count_number_of_broadcasts.yml +92 -0
  31. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_part_of_the_broadcasts_when_using_offset_and_count.yml +142 -0
  32. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_session_broadcasts.yml +117 -0
  33. data/spec/cassettes/OpenTok_Broadcasts/removes_a_stream_from_a_broadcast.yml +37 -0
  34. data/spec/cassettes/OpenTok_Sip/_play_dtmf_to_connection/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml +39 -0
  35. data/spec/cassettes/OpenTok_Sip/_play_dtmf_to_session/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml +39 -0
  36. data/spec/cassettes/OpenTok_Sip/receives_a_valid_response.yml +2 -2
  37. data/spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml +37 -0
  38. data/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml +39 -0
  39. data/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_specified_excluded_streams.yml +39 -0
  40. data/spec/cassettes/OpenTok_Streams/forces_the_specified_stream_to_be_muted.yml +39 -0
  41. data/spec/opentok/archives_spec.rb +40 -0
  42. data/spec/opentok/broadcasts_spec.rb +103 -1
  43. data/spec/opentok/connection_spec.rb +1 -1
  44. data/spec/opentok/opentok_spec.rb +6 -0
  45. data/spec/opentok/sip_spec.rb +32 -1
  46. data/spec/opentok/streams_spec.rb +21 -1
  47. metadata +42 -6
  48. data/.travis.yml +0 -17
@@ -144,6 +144,27 @@ describe OpenTok::Broadcasts do
144
144
  }.to raise_error(ArgumentError)
145
145
  end
146
146
 
147
+ it "raise an error for non valid type" do
148
+ expect {
149
+ broadcast.layout(started_broadcast_id, {
150
+ type: "not-valid",
151
+ stylesheet: "stream {}"
152
+ })
153
+ }.to raise_error(ArgumentError)
154
+ end
155
+
156
+ it "change the layout to custom type with custom stylesheet" do
157
+ stub_request(:put, "https://api.opentok.com/v2/project/#{api_key}/broadcast/#{started_broadcast_id}/layout").
158
+ with(body: {type: 'custom', stylesheet: 'stream {float: left; height: 100%; width: 33.33%;}'}).
159
+ to_return(status: 200)
160
+
161
+ response = broadcast.layout(started_broadcast_id, {
162
+ type: "custom",
163
+ stylesheet: "stream {float: left; height: 100%; width: 33.33%;}"
164
+ })
165
+ expect(response).not_to be_nil
166
+ end
167
+
147
168
  it "raise an error if invalid layout type" do
148
169
  expect {
149
170
  broadcast.layout(started_broadcast_id, {
@@ -151,6 +172,25 @@ describe OpenTok::Broadcasts do
151
172
  })
152
173
  }.to raise_error(ArgumentError)
153
174
  end
175
+
176
+ it "raise an error if invalid layout type with screenshare_type" do
177
+ expect {
178
+ broadcast.layout(started_broadcast_id, {
179
+ type: "pip",
180
+ screenshare_type: "bestFit"
181
+ })
182
+ }.to raise_error(ArgumentError)
183
+ end
184
+
185
+ it "raise an error if invalid layout screenshare_type" do
186
+ expect {
187
+ broadcast.layout(started_broadcast_id, {
188
+ type: "bestFit",
189
+ screenshare_type: "pip1"
190
+ })
191
+ }.to raise_error(ArgumentError)
192
+ end
193
+
154
194
  it "calls layout on broadcast object", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
155
195
  b = broadcast.find started_broadcast_id
156
196
  expect(b).to be_an_instance_of OpenTok::Broadcast
@@ -161,11 +201,73 @@ describe OpenTok::Broadcasts do
161
201
  )
162
202
  }.to raise_error(ArgumentError)
163
203
  end
204
+
164
205
  it "changes the layout of a broadcast", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
206
+ stub_request(:put, "https://api.opentok.com/v2/project/#{api_key}/broadcast/#{started_broadcast_id}/layout").
207
+ to_return(status: 200)
208
+
165
209
  response = broadcast.layout(started_broadcast_id, {
166
210
  :type => "verticalPresentation"
167
211
  })
168
212
  expect(response).not_to be_nil
169
213
  end
170
214
 
171
- end
215
+ it "changes the screenshare option in the layout of a broadcast", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
216
+ stub_request(:put, "https://api.opentok.com/v2/project/#{api_key}/broadcast/#{started_broadcast_id}/layout").
217
+ to_return(status: 200)
218
+
219
+ response = broadcast.layout(started_broadcast_id, {
220
+ :type => "bestFit",
221
+ :screenshare_type => "bestFit"
222
+ })
223
+ expect(response).not_to be_nil
224
+ end
225
+
226
+ it "adds a stream to a broadcast", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
227
+ opts = {}
228
+ response = broadcast.add_stream(started_broadcast_id, '12312312-3811-4726-b508-e41a0f96c68f', opts)
229
+ expect(response.code).to eq(204)
230
+ end
231
+
232
+ it "removes a stream from a broadcast", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
233
+ response = broadcast.remove_stream(started_broadcast_id, '12312312-3811-4726-b508-e41a0f96c68f')
234
+ expect(response.code).to eq(204)
235
+ end
236
+
237
+ context "for many broadcasts" do
238
+ it "should return all broadcasts", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
239
+ broadcast_list = broadcast.all
240
+ expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
241
+ expect(broadcast_list.total).to eq 6
242
+ expect(broadcast_list.count).to eq 6
243
+ end
244
+
245
+ it "should return broadcasts with an offset", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
246
+ broadcast_list = broadcast.all :offset => 3
247
+ expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
248
+ expect(broadcast_list.total).to eq 3
249
+ expect(broadcast_list.count).to eq 3
250
+ end
251
+
252
+ it "should return count number of broadcasts", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
253
+ broadcast_list = broadcast.all :count => 2
254
+ expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
255
+ expect(broadcast_list.count).to eq 2
256
+ expect(broadcast_list.count).to eq 2
257
+ end
258
+
259
+ it "should return part of the broadcasts when using offset and count", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
260
+ broadcast_list = broadcast.all :count => 4, :offset => 2
261
+ expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
262
+ expect(broadcast_list.count).to eq 4
263
+ expect(broadcast_list.count).to eq 4
264
+ end
265
+
266
+ it "should return session broadcasts", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
267
+ broadcast_list = broadcast.all :sessionId => session_id
268
+ expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
269
+ expect(broadcast_list.total).to eq 3
270
+ expect(broadcast_list.count).to eq 3
271
+ end
272
+ end
273
+ end
@@ -35,4 +35,4 @@ describe OpenTok::Connections do
35
35
  response = connection.forceDisconnect(session_id, connection_id)
36
36
  expect(response).not_to be_nil
37
37
  end
38
- end
38
+ end
@@ -152,6 +152,12 @@ describe OpenTok::OpenTok do
152
152
  it "should have an timeout_length property" do
153
153
  expect(opentok.timeout_length).to eq timeout_length
154
154
  end
155
+
156
+ it "should send the custom timeout_length to new instances of OpenTok::Client" do
157
+ streams = opentok.streams
158
+
159
+ expect(streams.instance_variable_get(:@client).timeout_length).to eq timeout_length
160
+ end
155
161
  end
156
162
 
157
163
  context "with an addendum to the user agent string" do
@@ -12,20 +12,51 @@ describe OpenTok::Sip do
12
12
  let(:api_key) { "123456" }
13
13
  let(:api_secret) { "1234567890abcdef1234567890abcdef1234567890" }
14
14
  let(:session_id) { "SESSIONID" }
15
+ let(:connection_id) { "CONNID" }
15
16
  let(:expiring_token) { "TOKENID" }
16
17
  let(:sip_uri) { "sip:+15128675309@acme.pstn.example.com;transport=tls" }
17
18
  let(:sip_username) { "bob" }
18
19
  let(:sip_password) { "abc123" }
19
20
  let(:opentok) { OpenTok::OpenTok.new api_key, api_secret }
20
21
  let(:sip) { opentok.sip }
22
+ let(:valid_dtmf_digits) { "0123456789*#p" }
23
+ let(:invalid_dtmf_digits) { "0123456789*#pabc" }
21
24
  subject { sip }
22
25
 
23
26
  it "receives a valid response", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
24
27
  opts = { "auth" => { "username" => sip_username,
25
28
  "password" => sip_password },
26
- "secure" => "true"
29
+ "secure" => "true",
30
+ "video" => "true",
31
+ "observe_force_mute" => "true"
27
32
  }
28
33
  response = sip.dial(session_id, expiring_token, sip_uri, opts)
29
34
  expect(response).not_to be_nil
30
35
  end
36
+
37
+ describe "#play_dtmf_to_connection" do
38
+ it "raises an ArgumentError when passed an invalid dtmf digit string" do
39
+ expect {
40
+ sip.play_dtmf_to_connection(session_id, connection_id, invalid_dtmf_digits)
41
+ }.to raise_error(ArgumentError)
42
+ end
43
+
44
+ it "returns a 200 response code when passed a valid dtmf digit string", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
45
+ response = sip.play_dtmf_to_connection(session_id, connection_id, valid_dtmf_digits)
46
+ expect(response.code).to eq(200)
47
+ end
48
+ end
49
+
50
+ describe "#play_dtmf_to_session" do
51
+ it "raises an ArgumentError when passed an invalid dtmf digit string" do
52
+ expect {
53
+ sip.play_dtmf_to_session(session_id, invalid_dtmf_digits)
54
+ }.to raise_error(ArgumentError)
55
+ end
56
+
57
+ it "returns a 200 response code when passed a valid dtmf digit string", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
58
+ response = sip.play_dtmf_to_session(session_id, valid_dtmf_digits)
59
+ expect(response.code).to eq(200)
60
+ end
61
+ end
31
62
  end
@@ -72,4 +72,24 @@ describe OpenTok::Streams do
72
72
  response = streams.layout(session_id, streams_list)
73
73
  expect(response).not_to be_nil
74
74
  end
75
- end
75
+
76
+ it "forces the specified stream to be muted", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
77
+ response = streams.force_mute(session_id, stream_id)
78
+ expect(response.code).to eq(200)
79
+ end
80
+
81
+ it "forces all current and future streams in a session to be muted", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
82
+ response = streams.force_mute_all(session_id)
83
+ expect(response.code).to eq(200)
84
+ end
85
+
86
+ it "forces all current and future streams in a session to be muted except specified excluded streams", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
87
+ response = streams.force_mute_all(session_id, { "excludedStreams" => ["b1963d15-537f-459a-be89-e00fc310b82b"] })
88
+ expect(response.code).to eq(200)
89
+ end
90
+
91
+ it "disables the 'mute state' of a session", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
92
+ response = streams.disable_force_mute(session_id)
93
+ expect(response.code).to eq(200)
94
+ end
95
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentok
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.0
4
+ version: 4.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stijn Mathysen
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2020-04-28 00:00:00.000000000 Z
15
+ date: 2022-02-02 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: bundler
@@ -34,14 +34,14 @@ dependencies:
34
34
  requirements:
35
35
  - - "~>"
36
36
  - !ruby/object:Gem::Version
37
- version: 12.0.0
37
+ version: 12.3.3
38
38
  type: :development
39
39
  prerelease: false
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  requirements:
42
42
  - - "~>"
43
43
  - !ruby/object:Gem::Version
44
- version: 12.0.0
44
+ version: 12.3.3
45
45
  - !ruby/object:Gem::Dependency
46
46
  name: rspec
47
47
  requirement: !ruby/object:Gem::Requirement
@@ -170,9 +170,11 @@ executables: []
170
170
  extensions: []
171
171
  extra_rdoc_files: []
172
172
  files:
173
+ - ".github/workflows/ci.yml"
174
+ - ".github/workflows/metrics.yml"
173
175
  - ".gitignore"
174
- - ".travis.yml"
175
176
  - ".yardopts"
177
+ - CHANGES.md
176
178
  - CODE_OF_CONDUCT.md
177
179
  - CONTRIBUTING.md
178
180
  - DEVELOPING.md
@@ -185,6 +187,7 @@ files:
185
187
  - lib/opentok/archive_list.rb
186
188
  - lib/opentok/archives.rb
187
189
  - lib/opentok/broadcast.rb
190
+ - lib/opentok/broadcast_list.rb
188
191
  - lib/opentok/broadcasts.rb
189
192
  - lib/opentok/client.rb
190
193
  - lib/opentok/connections.rb
@@ -221,6 +224,7 @@ files:
221
224
  - sample/Broadcast/public/css/sample.css
222
225
  - sample/Broadcast/public/js/host.js
223
226
  - sample/Broadcast/public/js/participant.js
227
+ - sample/Broadcast/views/all.erb
224
228
  - sample/Broadcast/views/host.erb
225
229
  - sample/Broadcast/views/index.erb
226
230
  - sample/Broadcast/views/layout.erb
@@ -230,14 +234,17 @@ files:
230
234
  - sample/HelloWorld/hello_world.rb
231
235
  - sample/HelloWorld/public/js/helloworld.js
232
236
  - sample/HelloWorld/views/index.erb
237
+ - spec/cassettes/OpenTok_Archives/adds_a_stream_to_an_archive.yml
233
238
  - spec/cassettes/OpenTok_Archives/calls_layout_on_archive_object.yml
234
239
  - spec/cassettes/OpenTok_Archives/changes_the_layout_of_an_archive.yml
235
240
  - spec/cassettes/OpenTok_Archives/http_client_errors/.yml
241
+ - spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml
236
242
  - spec/cassettes/OpenTok_Archives/should_create_archives.yml
237
243
  - spec/cassettes/OpenTok_Archives/should_create_audio_only_archives.yml
238
244
  - spec/cassettes/OpenTok_Archives/should_create_custom_layout_archives.yml
239
245
  - spec/cassettes/OpenTok_Archives/should_create_hd_archives.yml
240
246
  - spec/cassettes/OpenTok_Archives/should_create_individual_archives.yml
247
+ - spec/cassettes/OpenTok_Archives/should_create_layout_archives_with_screenshare_layout_types.yml
241
248
  - spec/cassettes/OpenTok_Archives/should_create_named_archives.yml
242
249
  - spec/cassettes/OpenTok_Archives/should_delete_an_archive_by_id.yml
243
250
  - spec/cassettes/OpenTok_Archives/should_find_archives_by_id.yml
@@ -250,10 +257,17 @@ files:
250
257
  - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_count_number_of_archives.yml
251
258
  - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_part_of_the_archives_when_using_offset_and_count.yml
252
259
  - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_session_archives.yml
260
+ - spec/cassettes/OpenTok_Broadcasts/adds_a_stream_to_a_broadcast.yml
253
261
  - spec/cassettes/OpenTok_Broadcasts/calls_layout_on_broadcast_object.yml
254
262
  - spec/cassettes/OpenTok_Broadcasts/changes_the_layout_of_a_broadcast.yml
255
263
  - spec/cassettes/OpenTok_Broadcasts/fetches_a_hls_broadcast_url.yml
256
264
  - spec/cassettes/OpenTok_Broadcasts/finds_a_broadcast.yml
265
+ - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_all_broadcasts.yml
266
+ - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_broadcasts_with_an_offset.yml
267
+ - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_count_number_of_broadcasts.yml
268
+ - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_part_of_the_broadcasts_when_using_offset_and_count.yml
269
+ - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_session_broadcasts.yml
270
+ - spec/cassettes/OpenTok_Broadcasts/removes_a_stream_from_a_broadcast.yml
257
271
  - spec/cassettes/OpenTok_Broadcasts/starts_a_rtmp_broadcast.yml
258
272
  - spec/cassettes/OpenTok_Broadcasts/stops_a_broadcast.yml
259
273
  - spec/cassettes/OpenTok_Connections/forces_a_connection_to_be_terminated.yml
@@ -268,7 +282,13 @@ files:
268
282
  - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/with_an_addendum_to_the_user_agent_string/should_append_the_addendum_to_the_user_agent_header.yml
269
283
  - spec/cassettes/OpenTok_Signals/receives_a_valid_response_for_a_connection.yml
270
284
  - spec/cassettes/OpenTok_Signals/receives_a_valid_response_for_all_connections.yml
285
+ - spec/cassettes/OpenTok_Sip/_play_dtmf_to_connection/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml
286
+ - spec/cassettes/OpenTok_Sip/_play_dtmf_to_session/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml
271
287
  - spec/cassettes/OpenTok_Sip/receives_a_valid_response.yml
288
+ - spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml
289
+ - spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml
290
+ - spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_specified_excluded_streams.yml
291
+ - spec/cassettes/OpenTok_Streams/forces_the_specified_stream_to_be_muted.yml
272
292
  - spec/cassettes/OpenTok_Streams/get_all_streams_information.yml
273
293
  - spec/cassettes/OpenTok_Streams/get_specific_stream_information.yml
274
294
  - spec/cassettes/OpenTok_Streams/layout_working_on_two_stream_list.yml
@@ -304,19 +324,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
304
324
  - !ruby/object:Gem::Version
305
325
  version: '0'
306
326
  requirements: []
307
- rubygems_version: 3.0.0
327
+ rubygems_version: 3.3.6
308
328
  signing_key:
309
329
  specification_version: 4
310
330
  summary: Ruby gem for the OpenTok API
311
331
  test_files:
332
+ - spec/cassettes/OpenTok_Archives/adds_a_stream_to_an_archive.yml
312
333
  - spec/cassettes/OpenTok_Archives/calls_layout_on_archive_object.yml
313
334
  - spec/cassettes/OpenTok_Archives/changes_the_layout_of_an_archive.yml
314
335
  - spec/cassettes/OpenTok_Archives/http_client_errors/.yml
336
+ - spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml
315
337
  - spec/cassettes/OpenTok_Archives/should_create_archives.yml
316
338
  - spec/cassettes/OpenTok_Archives/should_create_audio_only_archives.yml
317
339
  - spec/cassettes/OpenTok_Archives/should_create_custom_layout_archives.yml
318
340
  - spec/cassettes/OpenTok_Archives/should_create_hd_archives.yml
319
341
  - spec/cassettes/OpenTok_Archives/should_create_individual_archives.yml
342
+ - spec/cassettes/OpenTok_Archives/should_create_layout_archives_with_screenshare_layout_types.yml
320
343
  - spec/cassettes/OpenTok_Archives/should_create_named_archives.yml
321
344
  - spec/cassettes/OpenTok_Archives/should_delete_an_archive_by_id.yml
322
345
  - spec/cassettes/OpenTok_Archives/should_find_archives_by_id.yml
@@ -329,10 +352,17 @@ test_files:
329
352
  - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_count_number_of_archives.yml
330
353
  - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_part_of_the_archives_when_using_offset_and_count.yml
331
354
  - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_session_archives.yml
355
+ - spec/cassettes/OpenTok_Broadcasts/adds_a_stream_to_a_broadcast.yml
332
356
  - spec/cassettes/OpenTok_Broadcasts/calls_layout_on_broadcast_object.yml
333
357
  - spec/cassettes/OpenTok_Broadcasts/changes_the_layout_of_a_broadcast.yml
334
358
  - spec/cassettes/OpenTok_Broadcasts/fetches_a_hls_broadcast_url.yml
335
359
  - spec/cassettes/OpenTok_Broadcasts/finds_a_broadcast.yml
360
+ - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_all_broadcasts.yml
361
+ - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_broadcasts_with_an_offset.yml
362
+ - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_count_number_of_broadcasts.yml
363
+ - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_part_of_the_broadcasts_when_using_offset_and_count.yml
364
+ - spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_session_broadcasts.yml
365
+ - spec/cassettes/OpenTok_Broadcasts/removes_a_stream_from_a_broadcast.yml
336
366
  - spec/cassettes/OpenTok_Broadcasts/starts_a_rtmp_broadcast.yml
337
367
  - spec/cassettes/OpenTok_Broadcasts/stops_a_broadcast.yml
338
368
  - spec/cassettes/OpenTok_Connections/forces_a_connection_to_be_terminated.yml
@@ -347,7 +377,13 @@ test_files:
347
377
  - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/with_an_addendum_to_the_user_agent_string/should_append_the_addendum_to_the_user_agent_header.yml
348
378
  - spec/cassettes/OpenTok_Signals/receives_a_valid_response_for_a_connection.yml
349
379
  - spec/cassettes/OpenTok_Signals/receives_a_valid_response_for_all_connections.yml
380
+ - spec/cassettes/OpenTok_Sip/_play_dtmf_to_connection/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml
381
+ - spec/cassettes/OpenTok_Sip/_play_dtmf_to_session/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml
350
382
  - spec/cassettes/OpenTok_Sip/receives_a_valid_response.yml
383
+ - spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml
384
+ - spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml
385
+ - spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_specified_excluded_streams.yml
386
+ - spec/cassettes/OpenTok_Streams/forces_the_specified_stream_to_be_muted.yml
351
387
  - spec/cassettes/OpenTok_Streams/get_all_streams_information.yml
352
388
  - spec/cassettes/OpenTok_Streams/get_specific_stream_information.yml
353
389
  - spec/cassettes/OpenTok_Streams/layout_working_on_two_stream_list.yml
data/.travis.yml DELETED
@@ -1,17 +0,0 @@
1
- # Get container-based infrastructure
2
- sudo: false
3
- language: ruby
4
- # Travis bug, see https://github.com/bundler/bundler/pull/3559
5
- cache: bundler
6
- before_install: gem update bundler
7
- rvm:
8
- - 2.1
9
- - 2.2
10
- - 2.3
11
- - 2.4
12
- - 2.5
13
- - 2.6
14
- - 2.7
15
- notifications:
16
- slack:
17
- secure: agVll2R9PTPvJMcUgbvOh9eGt60zGDc8kPUwEsiQr828rCgXh/ZxD5irYDyKQg3ZsS8+f3MjFCwzU7uQALkia2pDrie9d8g8m1dt4Q5U7Qm6QecshvE0U9JwbB5Ngxaftbqyf0XEFrE7CKs7RI1BzFRpe8m+fdZgfwccX8Gb7pc=