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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +30 -0
- data/CHANGES.md +157 -0
- data/README.md +4 -2
- data/lib/opentok/archive.rb +50 -3
- data/lib/opentok/archives.rb +102 -6
- data/lib/opentok/broadcast.rb +44 -1
- data/lib/opentok/broadcast_list.rb +14 -0
- data/lib/opentok/broadcasts.rb +168 -17
- data/lib/opentok/client.rb +161 -0
- data/lib/opentok/connections.rb +1 -1
- data/lib/opentok/constants.rb +1 -0
- data/lib/opentok/opentok.rb +9 -9
- data/lib/opentok/sip.rb +40 -2
- data/lib/opentok/streams.rb +48 -1
- data/lib/opentok/token_generator.rb +1 -0
- data/lib/opentok/version.rb +1 -1
- data/opentok.gemspec +1 -1
- data/sample/Broadcast/README.md +42 -0
- data/sample/Broadcast/broadcast_sample.rb +15 -0
- data/sample/Broadcast/views/all.erb +46 -0
- data/sample/Broadcast/views/index.erb +16 -1
- data/spec/cassettes/OpenTok_Archives/adds_a_stream_to_an_archive.yml +37 -0
- data/spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml +37 -0
- data/spec/cassettes/OpenTok_Archives/should_create_layout_archives_with_screenshare_layout_types.yml +50 -0
- data/spec/cassettes/OpenTok_Broadcasts/adds_a_stream_to_a_broadcast.yml +37 -0
- data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_all_broadcasts.yml +192 -0
- data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_broadcasts_with_an_offset.yml +117 -0
- data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_count_number_of_broadcasts.yml +92 -0
- data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_part_of_the_broadcasts_when_using_offset_and_count.yml +142 -0
- data/spec/cassettes/OpenTok_Broadcasts/for_many_broadcasts/should_return_session_broadcasts.yml +117 -0
- data/spec/cassettes/OpenTok_Broadcasts/removes_a_stream_from_a_broadcast.yml +37 -0
- data/spec/cassettes/OpenTok_Sip/_play_dtmf_to_connection/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml +39 -0
- data/spec/cassettes/OpenTok_Sip/_play_dtmf_to_session/returns_a_200_response_code_when_passed_a_valid_dtmf_digit_string.yml +39 -0
- data/spec/cassettes/OpenTok_Sip/receives_a_valid_response.yml +2 -2
- data/spec/cassettes/OpenTok_Streams/disables_the_mute_state_of_a_session.yml +37 -0
- data/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted.yml +39 -0
- data/spec/cassettes/OpenTok_Streams/forces_all_current_and_future_streams_in_a_session_to_be_muted_except_specified_excluded_streams.yml +39 -0
- data/spec/cassettes/OpenTok_Streams/forces_the_specified_stream_to_be_muted.yml +39 -0
- data/spec/opentok/archives_spec.rb +40 -0
- data/spec/opentok/broadcasts_spec.rb +96 -2
- data/spec/opentok/connection_spec.rb +1 -1
- data/spec/opentok/sip_spec.rb +32 -1
- data/spec/opentok/streams_spec.rb +21 -1
- metadata +41 -6
- 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
|
data/spec/opentok/sip_spec.rb
CHANGED
@@ -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
|
-
|
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.
|
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:
|
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.
|
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.
|
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.
|
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=
|