opentok 4.1.0 → 4.3.0

Sign up to get free protection for your applications and to get access to all the features.
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=