opentok 4.7.1 → 4.8.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,4 +18,6 @@ module OpenTok
18
18
  class OpenTokWebSocketError < OpenTokError; end
19
19
  # Defines errors raised when you perform Experience Composer render operations.
20
20
  class OpenTokRenderError < OpenTokError; end
21
+ # Defines errors raised when you perform Captions operations.
22
+ class OpenTokCaptionsError < OpenTokError; end
21
23
  end
@@ -12,6 +12,7 @@ require "opentok/streams"
12
12
  require "opentok/signals"
13
13
  require "opentok/broadcasts"
14
14
  require "opentok/renders"
15
+ require "opentok/captions"
15
16
 
16
17
  module OpenTok
17
18
  # Contains methods for creating OpenTok sessions and generating tokens. It also includes
@@ -214,6 +215,16 @@ module OpenTok
214
215
  @broadcasts ||= Broadcasts.new client
215
216
  end
216
217
 
218
+ # A Captions object, which lets you start and stop live captions for an OpenTok session.
219
+ def captions
220
+ @captions ||= Captions.new client
221
+ end
222
+
223
+ # A Connections object, which lets you disconnect clients from an OpenTok session.
224
+ def connections
225
+ @connections ||= Connections.new client
226
+ end
227
+
217
228
  # A Renders object, which lets you work with OpenTok Experience Composer renders.
218
229
  def renders
219
230
  @renders ||= Renders.new client
@@ -234,11 +245,6 @@ module OpenTok
234
245
  @signals ||= Signals.new client
235
246
  end
236
247
 
237
- # A Connections object, which lets you disconnect clients from an OpenTok session.
238
- def connections
239
- @connections ||= Connections.new client
240
- end
241
-
242
248
  # A WebSocket object, which lets you connect OpenTok streams to a WebSocket URI.
243
249
  def websocket
244
250
  @websocket ||= WebSocket.new client
@@ -1,4 +1,4 @@
1
1
  module OpenTok
2
2
  # @private
3
- VERSION = '4.7.1'
3
+ VERSION = '4.8.1'
4
4
  end
@@ -5,7 +5,7 @@ http_interactions:
5
5
  uri: https://api.opentok.com/v2/project/123456/archive
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"sessionId":"SESSIONID"}'
8
+ string: '{"sessionId":"SESSIONID","multiArchiveTag":"archive-1"}'
9
9
  headers:
10
10
  User-Agent:
11
11
  - OpenTok-Ruby-SDK/<%= version %>
@@ -0,0 +1,52 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.opentok.com/v2/project/123456/archive
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"sessionId":"SESSIONID","streamMode":"manual"}'
9
+ headers:
10
+ User-Agent:
11
+ - OpenTok-Ruby-SDK/<%= version %>
12
+ X-Opentok-Auth:
13
+ - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ Accept:
19
+ - "*/*"
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Server:
26
+ - nginx
27
+ Date:
28
+ - Wed, 03 Jan 2024 14:32:20 GMT
29
+ Content-Type:
30
+ - application/json
31
+ Transfer-Encoding:
32
+ - chunked
33
+ Connection:
34
+ - keep-alive
35
+ body:
36
+ encoding: UTF-8
37
+ string: |-
38
+ {
39
+ "createdAt" : 1395183243556,
40
+ "duration" : 0,
41
+ "id" : "30b3ebf1-ba36-4f5b-8def-6f70d9986fe9",
42
+ "name" : "",
43
+ "partnerId" : 123456,
44
+ "reason" : "",
45
+ "sessionId" : "SESSIONID",
46
+ "size" : 0,
47
+ "status" : "started",
48
+ "url" : null,
49
+ "streamMode":"manual"
50
+ }
51
+ recorded_at: Tue, 18 Apr 2017 10:17:40 GMT
52
+ recorded_with: VCR 6.0.0
@@ -5,7 +5,7 @@ http_interactions:
5
5
  uri: https://api.opentok.com/v2/project/123456/archive
6
6
  body:
7
7
  encoding: UTF-8
8
- string: '{"sessionId":"SESSIONID"}'
8
+ string: '{"sessionId":"SESSIONID","multiArchiveTag":"archive-1"}'
9
9
  headers:
10
10
  User-Agent:
11
11
  - OpenTok-Ruby-SDK/<%= version %>
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.opentok.com/v2/project/123456/captions
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"sessionId":"SESSIONID","token":"TOKENID"}'
9
+ headers:
10
+ User-Agent:
11
+ - OpenTok-Ruby-SDK/<%= version %>
12
+ X-Opentok-Auth:
13
+ - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ Accept:
19
+ - "*/*"
20
+ response:
21
+ status:
22
+ code: 202
23
+ message: Accepted
24
+ headers:
25
+ Date:
26
+ - Tue, 05 Sep 2023 11:32:49 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - AWSALBTG=V0iIksb77idvUqENJbP7kHbxorCidH5rXzTdrmAq244qBgmkoAZJ+QZE0gPn/fKjmIEtO29S43zhxzH3X5Ao8Nf/8KMvioOduANad0cg6/rMMbSKhWdxNJkcePyrYLO/6voP37Lk8LamlXqv3QK6lj9SCvA+/wyUB6CV+i1JY8XSc1ba/+s=;
35
+ Expires=Tue, 12 Sep 2023 11:32:49 GMT; Path=/
36
+ - AWSALBTGCORS=V0iIksb77idvUqENJbP7kHbxorCidH5rXzTdrmAq244qBgmkoAZJ+QZE0gPn/fKjmIEtO29S43zhxzH3X5Ao8Nf/8KMvioOduANad0cg6/rMMbSKhWdxNJkcePyrYLO/6voP37Lk8LamlXqv3QK6lj9SCvA+/wyUB6CV+i1JY8XSc1ba/+s=;
37
+ Expires=Tue, 12 Sep 2023 11:32:49 GMT; Path=/; SameSite=None; Secure
38
+ X-Opentok-Trace:
39
+ - f=unknown&s=cerberus&u=B8FAC1E2-3DCE-40A9-9CC3-866750E7C7A5
40
+ body:
41
+ encoding: UTF-8
42
+ string: '{ "captionsId": "7c0680fc-6274-4de5-a66f-d0648e8d3ac2" }'
43
+ recorded_at: Tue, 18 Apr 2017 10:17:40 GMT
44
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.opentok.com/v2/project/123456/captions
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"sessionId":"SESSIONID","token":"TOKENID","languageCode":"en-GB","maxDuration":5000,"partialCaptions":false,"statusCallbackUrl":"https://example.com/captions/status"}'
9
+ headers:
10
+ User-Agent:
11
+ - OpenTok-Ruby-SDK/<%= version %>
12
+ X-Opentok-Auth:
13
+ - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ Accept:
19
+ - "*/*"
20
+ response:
21
+ status:
22
+ code: 202
23
+ message: Accepted
24
+ headers:
25
+ Date:
26
+ - Tue, 05 Sep 2023 12:05:23 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - AWSALBTG=Qam0XgGzqhEaBC7TB9UprWCTZ6omkQZDorQLpkU8Kb3+iSIJsINH6Rh13nWnaLryAUc08wZEEc0VAi6ZXVa5gVLE/5YeIvMT9WP8VzJLFyvQ/bMe7TIDvp/QronHO4tohNGpvrFQxCC5LElWX5JnN3sCr5WpUHqEPQr0jz9TtUmKJYIh0So=;
35
+ Expires=Tue, 12 Sep 2023 12:05:23 GMT; Path=/
36
+ - AWSALBTGCORS=Qam0XgGzqhEaBC7TB9UprWCTZ6omkQZDorQLpkU8Kb3+iSIJsINH6Rh13nWnaLryAUc08wZEEc0VAi6ZXVa5gVLE/5YeIvMT9WP8VzJLFyvQ/bMe7TIDvp/QronHO4tohNGpvrFQxCC5LElWX5JnN3sCr5WpUHqEPQr0jz9TtUmKJYIh0So=;
37
+ Expires=Tue, 12 Sep 2023 12:05:23 GMT; Path=/; SameSite=None; Secure
38
+ X-Opentok-Trace:
39
+ - f=unknown&s=cerberus&u=5DB017B0-6FC7-444F-BDE9-20D3CBA7B2EA
40
+ body:
41
+ encoding: UTF-8
42
+ string: '{ "captionsId": "7c0680fc-6274-4de5-a66f-d0648e8d3ac2" }'
43
+ recorded_at: Tue, 18 Apr 2017 10:17:40 GMT
44
+ recorded_with: VCR 6.0.0
@@ -0,0 +1,44 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://api.opentok.com/v2/project/123456/captions/CAPTIONSID/stop
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - OpenTok-Ruby-SDK/<%= version %>
12
+ X-Opentok-Auth:
13
+ - eyJpc3QiOiJwcm9qZWN0IiwiYWxnIjoiSFMyNTYifQ.eyJpc3MiOiIxMjM0NTYiLCJpYXQiOjE0OTI1MTA2NjAsImV4cCI6MTQ5MjUxMDk2MH0.BplMVhJWx4ld7KLKXqEmow6MjNPPFw9W8IHCMfeb120
14
+ Content-Type:
15
+ - application/json
16
+ Accept-Encoding:
17
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
18
+ Accept:
19
+ - "*/*"
20
+ response:
21
+ status:
22
+ code: 202
23
+ message: Accepted
24
+ headers:
25
+ Date:
26
+ - Tue, 05 Sep 2023 11:30:55 GMT
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Transfer-Encoding:
30
+ - chunked
31
+ Connection:
32
+ - keep-alive
33
+ Set-Cookie:
34
+ - AWSALBTG=LJIybl0y9LXphBJqNdoYf94M2EQTLnT/IhYp4UD+lzvSSZfKfdshtXSXDJ+gplgMuZ+3zg7mtnQoUF7ZhM2IRiL6VYJq88ltUPP075OdNgDwWRpYLq+doFLXeee4skbljcUpgTAWkCp1MReHhYdiTO8G36cgW9hPyWE9/jIMcfhN6HzVv5Q=;
35
+ Expires=Tue, 12 Sep 2023 11:30:55 GMT; Path=/
36
+ - AWSALBTGCORS=LJIybl0y9LXphBJqNdoYf94M2EQTLnT/IhYp4UD+lzvSSZfKfdshtXSXDJ+gplgMuZ+3zg7mtnQoUF7ZhM2IRiL6VYJq88ltUPP075OdNgDwWRpYLq+doFLXeee4skbljcUpgTAWkCp1MReHhYdiTO8G36cgW9hPyWE9/jIMcfhN6HzVv5Q=;
37
+ Expires=Tue, 12 Sep 2023 11:30:55 GMT; Path=/; SameSite=None; Secure
38
+ X-Opentok-Trace:
39
+ - f=unknown&s=cerberus&u=22ECEF08-1EBD-4554-BF7B-04857DE8616A
40
+ body:
41
+ encoding: UTF-8
42
+ string: ''
43
+ recorded_at: Tue, 18 Apr 2017 10:17:40 GMT
44
+ recorded_with: VCR 6.0.0
@@ -44,7 +44,7 @@ describe OpenTok::Archives do
44
44
 
45
45
  it "should create an archives with a specified multiArchiveTag", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
46
46
  archive_tag = 'archive-1'
47
- archive = archives.create session_id, :multiArchiveTag => archive_tag
47
+ archive = archives.create session_id, :multi_archive_tag => archive_tag
48
48
  expect(archive).to be_an_instance_of OpenTok::Archive
49
49
  expect(archive.session_id).to eq session_id
50
50
  expect(archive.multiArchiveTag).to eq archive_tag
@@ -52,7 +52,7 @@ describe OpenTok::Archives do
52
52
 
53
53
  it "should create an archive with matching multi_archive_tag when multiArchiveTag is specified", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
54
54
  archive_tag = 'archive-1'
55
- archive = archives.create session_id, :multiArchiveTag => archive_tag
55
+ archive = archives.create session_id, :multi_archive_tag => archive_tag
56
56
  expect(archive).to be_an_instance_of OpenTok::Archive
57
57
  expect(archive.multi_archive_tag).to eq archive_tag
58
58
  end
@@ -63,6 +63,13 @@ describe OpenTok::Archives do
63
63
  expect(archive.multi_archive_tag).to be_nil
64
64
  end
65
65
 
66
+ it "should create an archive with streamMode set to specified stream_mode value", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
67
+ stream_mode = 'manual'
68
+ archive = archives.create session_id, :stream_mode => stream_mode
69
+ expect(archive).to be_an_instance_of OpenTok::Archive
70
+ expect(archive.stream_mode).to eq stream_mode
71
+ end
72
+
66
73
  it "should create audio only archives", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}" } } do
67
74
  archive = archives.create session_id, :has_video => false
68
75
  expect(archive).to be_an_instance_of OpenTok::Archive
@@ -0,0 +1,44 @@
1
+ require "opentok/opentok"
2
+ require "opentok/captions"
3
+ require "opentok/version"
4
+ require "spec_helper"
5
+
6
+ describe OpenTok::Captions do
7
+ before(:each) do
8
+ now = Time.parse("2017-04-18 20:17:40 +1000")
9
+ allow(Time).to receive(:now) { now }
10
+ end
11
+
12
+ let(:api_key) { "123456" }
13
+ let(:api_secret) { "1234567890abcdef1234567890abcdef1234567890" }
14
+ let(:session_id) { "SESSIONID" }
15
+ let(:captions_id) { "CAPTIONSID" }
16
+ let(:expiring_token) { "TOKENID" }
17
+ let(:status_callback_url) { "https://example.com/captions/status" }
18
+ let(:opentok) { OpenTok::OpenTok.new api_key, api_secret }
19
+ let(:captions) { opentok.captions }
20
+ subject { captions }
21
+
22
+ it "receives a valid response when starting captions", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
23
+ response = captions.start(session_id, expiring_token)
24
+ expect(response).not_to be_nil
25
+ expect(response.code).to eq(202)
26
+ end
27
+
28
+ it "receives a valid response when starting captions with options", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
29
+ opts = { "language_code" => "en-GB",
30
+ "max_duration" => 5000,
31
+ "partial_captions" => false,
32
+ "status_callback_url" => status_callback_url
33
+ }
34
+
35
+ response = captions.start(session_id, expiring_token, opts)
36
+ expect(response).not_to be_nil
37
+ expect(response.code).to eq(202)
38
+ end
39
+
40
+ it "receives a valid response when stopping captions", :vcr => { :erb => { :version => OpenTok::VERSION + "-Ruby-Version-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"} } do
41
+ response = captions.stop(captions_id)
42
+ expect(response.code).to eq(202)
43
+ end
44
+ 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.7.1
4
+ version: 4.8.1
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: 2023-08-17 00:00:00.000000000 Z
15
+ date: 2024-01-03 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: bundler
@@ -189,6 +189,7 @@ files:
189
189
  - lib/opentok/broadcast.rb
190
190
  - lib/opentok/broadcast_list.rb
191
191
  - lib/opentok/broadcasts.rb
192
+ - lib/opentok/captions.rb
192
193
  - lib/opentok/client.rb
193
194
  - lib/opentok/connections.rb
194
195
  - lib/opentok/constants.rb
@@ -245,6 +246,7 @@ files:
245
246
  - spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml
246
247
  - spec/cassettes/OpenTok_Archives/should_create_an_archive_with_matching_multi_archive_tag_when_multiArchiveTag_is_specified.yml
247
248
  - spec/cassettes/OpenTok_Archives/should_create_an_archive_with_multi_archive_tag_value_of_nil_when_multiArchiveTag_not_specified.yml
249
+ - spec/cassettes/OpenTok_Archives/should_create_an_archive_with_streamMode_set_to_specified_stream_mode_value.yml
248
250
  - spec/cassettes/OpenTok_Archives/should_create_an_archives_with_a_specified_multiArchiveTag.yml
249
251
  - spec/cassettes/OpenTok_Archives/should_create_archives.yml
250
252
  - spec/cassettes/OpenTok_Archives/should_create_audio_only_archives.yml
@@ -280,6 +282,9 @@ files:
280
282
  - spec/cassettes/OpenTok_Broadcasts/starts_a_broadcast_with_a_specified_multiBroadcastTag.yml
281
283
  - spec/cassettes/OpenTok_Broadcasts/starts_a_rtmp_broadcast.yml
282
284
  - spec/cassettes/OpenTok_Broadcasts/stops_a_broadcast.yml
285
+ - spec/cassettes/OpenTok_Captions/receives_a_valid_response_when_starting_captions.yml
286
+ - spec/cassettes/OpenTok_Captions/receives_a_valid_response_when_starting_captions_with_options.yml
287
+ - spec/cassettes/OpenTok_Captions/receives_a_valid_response_when_stopping_captions.yml
283
288
  - spec/cassettes/OpenTok_Connections/forces_a_connection_to_be_terminated.yml
284
289
  - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_always_archived_sessions.yml
285
290
  - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_always_archived_sessions_with_a_set_archive_name.yml
@@ -317,6 +322,7 @@ files:
317
322
  - spec/matchers/token.rb
318
323
  - spec/opentok/archives_spec.rb
319
324
  - spec/opentok/broadcasts_spec.rb
325
+ - spec/opentok/captions_spec.rb
320
326
  - spec/opentok/client_spec.rb
321
327
  - spec/opentok/connection_spec.rb
322
328
  - spec/opentok/opentok_spec.rb
@@ -349,7 +355,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
349
355
  - !ruby/object:Gem::Version
350
356
  version: '0'
351
357
  requirements: []
352
- rubygems_version: 3.2.3
358
+ rubygems_version: 3.5.3
353
359
  signing_key:
354
360
  specification_version: 4
355
361
  summary: Ruby gem for the OpenTok API
@@ -361,6 +367,7 @@ test_files:
361
367
  - spec/cassettes/OpenTok_Archives/removes_a_stream_from_an_archive.yml
362
368
  - spec/cassettes/OpenTok_Archives/should_create_an_archive_with_matching_multi_archive_tag_when_multiArchiveTag_is_specified.yml
363
369
  - spec/cassettes/OpenTok_Archives/should_create_an_archive_with_multi_archive_tag_value_of_nil_when_multiArchiveTag_not_specified.yml
370
+ - spec/cassettes/OpenTok_Archives/should_create_an_archive_with_streamMode_set_to_specified_stream_mode_value.yml
364
371
  - spec/cassettes/OpenTok_Archives/should_create_an_archives_with_a_specified_multiArchiveTag.yml
365
372
  - spec/cassettes/OpenTok_Archives/should_create_archives.yml
366
373
  - spec/cassettes/OpenTok_Archives/should_create_audio_only_archives.yml
@@ -396,6 +403,9 @@ test_files:
396
403
  - spec/cassettes/OpenTok_Broadcasts/starts_a_broadcast_with_a_specified_multiBroadcastTag.yml
397
404
  - spec/cassettes/OpenTok_Broadcasts/starts_a_rtmp_broadcast.yml
398
405
  - spec/cassettes/OpenTok_Broadcasts/stops_a_broadcast.yml
406
+ - spec/cassettes/OpenTok_Captions/receives_a_valid_response_when_starting_captions.yml
407
+ - spec/cassettes/OpenTok_Captions/receives_a_valid_response_when_starting_captions_with_options.yml
408
+ - spec/cassettes/OpenTok_Captions/receives_a_valid_response_when_stopping_captions.yml
399
409
  - spec/cassettes/OpenTok_Connections/forces_a_connection_to_be_terminated.yml
400
410
  - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_always_archived_sessions.yml
401
411
  - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_always_archived_sessions_with_a_set_archive_name.yml
@@ -433,6 +443,7 @@ test_files:
433
443
  - spec/matchers/token.rb
434
444
  - spec/opentok/archives_spec.rb
435
445
  - spec/opentok/broadcasts_spec.rb
446
+ - spec/opentok/captions_spec.rb
436
447
  - spec/opentok/client_spec.rb
437
448
  - spec/opentok/connection_spec.rb
438
449
  - spec/opentok/opentok_spec.rb