opentok 4.1.2 → 4.4.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 (46) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +30 -0
  3. data/CHANGES.md +157 -0
  4. data/README.md +4 -2
  5. data/lib/opentok/archive.rb +50 -3
  6. data/lib/opentok/archives.rb +102 -6
  7. data/lib/opentok/broadcast.rb +44 -1
  8. data/lib/opentok/broadcast_list.rb +14 -0
  9. data/lib/opentok/broadcasts.rb +168 -17
  10. data/lib/opentok/client.rb +161 -0
  11. data/lib/opentok/connections.rb +1 -1
  12. data/lib/opentok/constants.rb +1 -0
  13. data/lib/opentok/opentok.rb +9 -9
  14. data/lib/opentok/sip.rb +40 -2
  15. data/lib/opentok/streams.rb +48 -1
  16. data/lib/opentok/token_generator.rb +1 -0
  17. data/lib/opentok/version.rb +1 -1
  18. data/opentok.gemspec +1 -1
  19. data/sample/Broadcast/README.md +42 -0
  20. data/sample/Broadcast/broadcast_sample.rb +15 -0
  21. data/sample/Broadcast/views/all.erb +46 -0
  22. data/sample/Broadcast/views/index.erb +16 -1
  23. data/spec/cassettes/OpenTok_Archives/adds_a_stream_to_an_archive.yml +37 -0
  24. data/spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml +37 -0
  25. data/spec/cassettes/OpenTok_Archives/should_create_layout_archives_with_screenshare_layout_types.yml +50 -0
  26. data/spec/cassettes/OpenTok_Broadcasts/adds_a_stream_to_a_broadcast.yml +37 -0
  27. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_all_broadcasts.yml +192 -0
  28. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_broadcasts_with_an_offset.yml +117 -0
  29. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_count_number_of_broadcasts.yml +92 -0
  30. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_part_of_the_broadcasts_when_using_offset_and_count.yml +142 -0
  31. data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_session_broadcasts.yml +117 -0
  32. data/spec/cassettes/OpenTok_Broadcasts/removes_a_stream_from_a_broadcast.yml +37 -0
  33. data/spec/cassettes/OpenTok_Sip/_play_dtmf_to_connection/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml +39 -0
  34. data/spec/cassettes/OpenTok_Sip/_play_dtmf_to_session/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml +39 -0
  35. data/spec/cassettes/OpenTok_Sip/receives_a_valid_response.yml +2 -2
  36. data/spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml +37 -0
  37. data/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml +39 -0
  38. data/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_specified_excluded_streams.yml +39 -0
  39. data/spec/cassettes/OpenTok_Streams/forces_the_specified_stream_to_be_muted.yml +39 -0
  40. data/spec/opentok/archives_spec.rb +40 -0
  41. data/spec/opentok/broadcasts_spec.rb +96 -2
  42. data/spec/opentok/connection_spec.rb +1 -1
  43. data/spec/opentok/sip_spec.rb +32 -1
  44. data/spec/opentok/streams_spec.rb +21 -1
  45. metadata +41 -6
  46. data/.travis.yml +0 -17
@@ -67,6 +67,16 @@ describe OpenTok::Archives do
67
67
  expect(archive.session_id).to eq session_id
68
68
  end
69
69
 
70
+ it "should create layout archives with screenshare layout types", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
71
+ screenshare_layout = {
72
+ :type => "bestFit",
73
+ :screenshare_type => "verticalPresentation"
74
+ }
75
+ archive = archives.create session_id, :layout => screenshare_layout
76
+ expect(archive).to be_an_instance_of OpenTok::Archive
77
+ expect(archive.session_id).to eq session_id
78
+ end
79
+
70
80
  it "should stop archives", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
71
81
  archive = archives.stop_by_id started_archive_id
72
82
  expect(archive).to be_an_instance_of OpenTok::Archive
@@ -159,6 +169,25 @@ describe OpenTok::Archives do
159
169
  })
160
170
  }.to raise_error(ArgumentError)
161
171
  end
172
+
173
+ it "raise an error if invalid layout type with screenshare_type" do
174
+ expect {
175
+ archives.layout(started_archive_id, {
176
+ type: "pip",
177
+ screenshare_type: "bestFit"
178
+ })
179
+ }.to raise_error(ArgumentError)
180
+ end
181
+
182
+ it "raise an error if invalid layout screenshare_type" do
183
+ expect {
184
+ archives.layout(started_archive_id, {
185
+ type: "bestFit",
186
+ screenshare_type: "pip1"
187
+ })
188
+ }.to raise_error(ArgumentError)
189
+ end
190
+
162
191
  it "calls layout on archive object", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
163
192
  archive = archives.find findable_archive_id
164
193
  expect(archive).to be_an_instance_of OpenTok::Archive
@@ -230,4 +259,15 @@ describe OpenTok::Archives do
230
259
  it { should raise_error(OpenTok::OpenTokError) }
231
260
  end
232
261
 
262
+ it "adds a stream to an archive", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
263
+ opts = {}
264
+ response = archives.add_stream(started_archive_id, '12312312-3811-4726-b508-e41a0f96c68f', opts)
265
+ expect(response.code).to eq(204)
266
+ end
267
+
268
+ it "removes a stream from an archive", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
269
+ response = archives.remove_stream(started_archive_id, '12312312-3811-4726-b508-e41a0f96c68f')
270
+ expect(response.code).to eq(204)
271
+ end
272
+
233
273
  end
@@ -45,6 +45,22 @@ describe OpenTok::Broadcasts do
45
45
  broadcast.create(nil, {})
46
46
  }.to raise_error(ArgumentError)
47
47
  end
48
+ it 'raises an error if outputs is not set in options' do
49
+ opts = { maxDuration: 5400 }
50
+ expect { broadcast.create(nil, opts) }.to raise_error(ArgumentError)
51
+ end
52
+ it 'raises an error if outputs is set in options but is not a Hash' do
53
+ opts = { outputs: [] }
54
+ expect { broadcast.create(nil, opts) }.to raise_error(ArgumentError)
55
+ end
56
+ it 'raises an error if an HLS Broadcast object has both dvr and low_latency options set to true' do
57
+ opts = {
58
+ outputs: {
59
+ hls: { dvr: true, low_latency: true}
60
+ }
61
+ }
62
+ expect { broadcast.create(nil, opts) }.to raise_error(ArgumentError)
63
+ end
48
64
  it 'fetches a hls broadcast url', :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
49
65
  opts = {
50
66
  :outputs => {
@@ -157,7 +173,7 @@ describe OpenTok::Broadcasts do
157
173
  stub_request(:put, "https://api.opentok.com/v2/project/#{api_key}/broadcast/#{started_broadcast_id}/layout").
158
174
  with(body: {type: 'custom', stylesheet: 'stream {float: left; height: 100%; width: 33.33%;}'}).
159
175
  to_return(status: 200)
160
-
176
+
161
177
  response = broadcast.layout(started_broadcast_id, {
162
178
  type: "custom",
163
179
  stylesheet: "stream {float: left; height: 100%; width: 33.33%;}"
@@ -172,6 +188,25 @@ describe OpenTok::Broadcasts do
172
188
  })
173
189
  }.to raise_error(ArgumentError)
174
190
  end
191
+
192
+ it "raise an error if invalid layout type with screenshare_type" do
193
+ expect {
194
+ broadcast.layout(started_broadcast_id, {
195
+ type: "pip",
196
+ screenshare_type: "bestFit"
197
+ })
198
+ }.to raise_error(ArgumentError)
199
+ end
200
+
201
+ it "raise an error if invalid layout screenshare_type" do
202
+ expect {
203
+ broadcast.layout(started_broadcast_id, {
204
+ type: "bestFit",
205
+ screenshare_type: "pip1"
206
+ })
207
+ }.to raise_error(ArgumentError)
208
+ end
209
+
175
210
  it "calls layout on broadcast object", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
176
211
  b = broadcast.find started_broadcast_id
177
212
  expect(b).to be_an_instance_of OpenTok::Broadcast
@@ -182,14 +217,73 @@ describe OpenTok::Broadcasts do
182
217
  )
183
218
  }.to raise_error(ArgumentError)
184
219
  end
220
+
185
221
  it "changes the layout of a broadcast", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
186
222
  stub_request(:put, "https://api.opentok.com/v2/project/#{api_key}/broadcast/#{started_broadcast_id}/layout").
187
223
  to_return(status: 200)
188
-
224
+
189
225
  response = broadcast.layout(started_broadcast_id, {
190
226
  :type => "verticalPresentation"
191
227
  })
192
228
  expect(response).not_to be_nil
193
229
  end
194
230
 
231
+ it "changes the screenshare option in the layout of a broadcast", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
232
+ stub_request(:put, "https://api.opentok.com/v2/project/#{api_key}/broadcast/#{started_broadcast_id}/layout").
233
+ to_return(status: 200)
234
+
235
+ response = broadcast.layout(started_broadcast_id, {
236
+ :type => "bestFit",
237
+ :screenshare_type => "bestFit"
238
+ })
239
+ expect(response).not_to be_nil
240
+ end
241
+
242
+ it "adds a stream to a broadcast", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
243
+ opts = {}
244
+ response = broadcast.add_stream(started_broadcast_id, '12312312-3811-4726-b508-e41a0f96c68f', opts)
245
+ expect(response.code).to eq(204)
246
+ end
247
+
248
+ it "removes a stream from a broadcast", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
249
+ response = broadcast.remove_stream(started_broadcast_id, '12312312-3811-4726-b508-e41a0f96c68f')
250
+ expect(response.code).to eq(204)
251
+ end
252
+
253
+ context "for many broadcasts" do
254
+ it "should return all broadcasts", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
255
+ broadcast_list = broadcast.all
256
+ expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
257
+ expect(broadcast_list.total).to eq 6
258
+ expect(broadcast_list.count).to eq 6
259
+ end
260
+
261
+ it "should return broadcasts with an offset", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
262
+ broadcast_list = broadcast.all :offset => 3
263
+ expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
264
+ expect(broadcast_list.total).to eq 3
265
+ expect(broadcast_list.count).to eq 3
266
+ end
267
+
268
+ it "should return count number of broadcasts", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
269
+ broadcast_list = broadcast.all :count => 2
270
+ expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
271
+ expect(broadcast_list.count).to eq 2
272
+ expect(broadcast_list.count).to eq 2
273
+ end
274
+
275
+ 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
276
+ broadcast_list = broadcast.all :count => 4, :offset => 2
277
+ expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
278
+ expect(broadcast_list.count).to eq 4
279
+ expect(broadcast_list.count).to eq 4
280
+ end
281
+
282
+ it "should return session broadcasts", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
283
+ broadcast_list = broadcast.all :sessionId => session_id
284
+ expect(broadcast_list).to be_an_instance_of OpenTok::BroadcastList
285
+ expect(broadcast_list.total).to eq 3
286
+ expect(broadcast_list.count).to eq 3
287
+ end
288
+ end
195
289
  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
@@ -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.2
4
+ version: 4.4.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-07-15 00:00:00.000000000 Z
15
+ date: 2022-05-09 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,10 +170,11 @@ executables: []
170
170
  extensions: []
171
171
  extra_rdoc_files: []
172
172
  files:
173
+ - ".github/workflows/ci.yml"
173
174
  - ".github/workflows/metrics.yml"
174
175
  - ".gitignore"
175
- - ".travis.yml"
176
176
  - ".yardopts"
177
+ - CHANGES.md
177
178
  - CODE_OF_CONDUCT.md
178
179
  - CONTRIBUTING.md
179
180
  - DEVELOPING.md
@@ -186,6 +187,7 @@ files:
186
187
  - lib/opentok/archive_list.rb
187
188
  - lib/opentok/archives.rb
188
189
  - lib/opentok/broadcast.rb
190
+ - lib/opentok/broadcast_list.rb
189
191
  - lib/opentok/broadcasts.rb
190
192
  - lib/opentok/client.rb
191
193
  - lib/opentok/connections.rb
@@ -222,6 +224,7 @@ files:
222
224
  - sample/Broadcast/public/css/sample.css
223
225
  - sample/Broadcast/public/js/host.js
224
226
  - sample/Broadcast/public/js/participant.js
227
+ - sample/Broadcast/views/all.erb
225
228
  - sample/Broadcast/views/host.erb
226
229
  - sample/Broadcast/views/index.erb
227
230
  - sample/Broadcast/views/layout.erb
@@ -231,14 +234,17 @@ files:
231
234
  - sample/HelloWorld/hello_world.rb
232
235
  - sample/HelloWorld/public/js/helloworld.js
233
236
  - sample/HelloWorld/views/index.erb
237
+ - spec/cassettes/OpenTok_Archives/adds_a_stream_to_an_archive.yml
234
238
  - spec/cassettes/OpenTok_Archives/calls_layout_on_archive_object.yml
235
239
  - spec/cassettes/OpenTok_Archives/changes_the_layout_of_an_archive.yml
236
240
  - spec/cassettes/OpenTok_Archives/http_client_errors/.yml
241
+ - spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml
237
242
  - spec/cassettes/OpenTok_Archives/should_create_archives.yml
238
243
  - spec/cassettes/OpenTok_Archives/should_create_audio_only_archives.yml
239
244
  - spec/cassettes/OpenTok_Archives/should_create_custom_layout_archives.yml
240
245
  - spec/cassettes/OpenTok_Archives/should_create_hd_archives.yml
241
246
  - spec/cassettes/OpenTok_Archives/should_create_individual_archives.yml
247
+ - spec/cassettes/OpenTok_Archives/should_create_layout_archives_with_screenshare_layout_types.yml
242
248
  - spec/cassettes/OpenTok_Archives/should_create_named_archives.yml
243
249
  - spec/cassettes/OpenTok_Archives/should_delete_an_archive_by_id.yml
244
250
  - spec/cassettes/OpenTok_Archives/should_find_archives_by_id.yml
@@ -251,10 +257,17 @@ files:
251
257
  - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_count_number_of_archives.yml
252
258
  - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_part_of_the_archives_when_using_offset_and_count.yml
253
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
254
261
  - spec/cassettes/OpenTok_Broadcasts/calls_layout_on_broadcast_object.yml
255
262
  - spec/cassettes/OpenTok_Broadcasts/changes_the_layout_of_a_broadcast.yml
256
263
  - spec/cassettes/OpenTok_Broadcasts/fetches_a_hls_broadcast_url.yml
257
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
258
271
  - spec/cassettes/OpenTok_Broadcasts/starts_a_rtmp_broadcast.yml
259
272
  - spec/cassettes/OpenTok_Broadcasts/stops_a_broadcast.yml
260
273
  - spec/cassettes/OpenTok_Connections/forces_a_connection_to_be_terminated.yml
@@ -269,7 +282,13 @@ files:
269
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
270
283
  - spec/cassettes/OpenTok_Signals/receives_a_valid_response_for_a_connection.yml
271
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
272
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
273
292
  - spec/cassettes/OpenTok_Streams/get_all_streams_information.yml
274
293
  - spec/cassettes/OpenTok_Streams/get_specific_stream_information.yml
275
294
  - spec/cassettes/OpenTok_Streams/layout_working_on_two_stream_list.yml
@@ -305,19 +324,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
305
324
  - !ruby/object:Gem::Version
306
325
  version: '0'
307
326
  requirements: []
308
- rubygems_version: 3.0.0
327
+ rubygems_version: 3.3.6
309
328
  signing_key:
310
329
  specification_version: 4
311
330
  summary: Ruby gem for the OpenTok API
312
331
  test_files:
332
+ - spec/cassettes/OpenTok_Archives/adds_a_stream_to_an_archive.yml
313
333
  - spec/cassettes/OpenTok_Archives/calls_layout_on_archive_object.yml
314
334
  - spec/cassettes/OpenTok_Archives/changes_the_layout_of_an_archive.yml
315
335
  - spec/cassettes/OpenTok_Archives/http_client_errors/.yml
336
+ - spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml
316
337
  - spec/cassettes/OpenTok_Archives/should_create_archives.yml
317
338
  - spec/cassettes/OpenTok_Archives/should_create_audio_only_archives.yml
318
339
  - spec/cassettes/OpenTok_Archives/should_create_custom_layout_archives.yml
319
340
  - spec/cassettes/OpenTok_Archives/should_create_hd_archives.yml
320
341
  - spec/cassettes/OpenTok_Archives/should_create_individual_archives.yml
342
+ - spec/cassettes/OpenTok_Archives/should_create_layout_archives_with_screenshare_layout_types.yml
321
343
  - spec/cassettes/OpenTok_Archives/should_create_named_archives.yml
322
344
  - spec/cassettes/OpenTok_Archives/should_delete_an_archive_by_id.yml
323
345
  - spec/cassettes/OpenTok_Archives/should_find_archives_by_id.yml
@@ -330,10 +352,17 @@ test_files:
330
352
  - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_count_number_of_archives.yml
331
353
  - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_part_of_the_archives_when_using_offset_and_count.yml
332
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
333
356
  - spec/cassettes/OpenTok_Broadcasts/calls_layout_on_broadcast_object.yml
334
357
  - spec/cassettes/OpenTok_Broadcasts/changes_the_layout_of_a_broadcast.yml
335
358
  - spec/cassettes/OpenTok_Broadcasts/fetches_a_hls_broadcast_url.yml
336
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
337
366
  - spec/cassettes/OpenTok_Broadcasts/starts_a_rtmp_broadcast.yml
338
367
  - spec/cassettes/OpenTok_Broadcasts/stops_a_broadcast.yml
339
368
  - spec/cassettes/OpenTok_Connections/forces_a_connection_to_be_terminated.yml
@@ -348,7 +377,13 @@ test_files:
348
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
349
378
  - spec/cassettes/OpenTok_Signals/receives_a_valid_response_for_a_connection.yml
350
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
351
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
352
387
  - spec/cassettes/OpenTok_Streams/get_all_streams_information.yml
353
388
  - spec/cassettes/OpenTok_Streams/get_specific_stream_information.yml
354
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=