opentok 0.1.3 → 2.2.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 (113) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +16 -2
  3. data/.travis.yml +6 -0
  4. data/.yardopts +1 -0
  5. data/CONTRIBUTING.md +47 -0
  6. data/DEVELOPING.md +91 -0
  7. data/LICENSE +19 -5
  8. data/README.md +170 -53
  9. data/Rakefile +10 -5
  10. data/doc/OpenTok.html +411 -0
  11. data/doc/OpenTok/Archive.html +1320 -0
  12. data/doc/OpenTok/ArchiveList.html +216 -0
  13. data/doc/OpenTok/Archives.html +1028 -0
  14. data/doc/OpenTok/Client.html +695 -0
  15. data/doc/OpenTok/OpenTok.html +1046 -0
  16. data/doc/OpenTok/OpenTokArchiveError.html +142 -0
  17. data/doc/OpenTok/OpenTokAuthenticationError.html +143 -0
  18. data/doc/OpenTok/OpenTokError.html +138 -0
  19. data/doc/OpenTok/Session.html +665 -0
  20. data/doc/OpenTok/TokenGenerator.html +204 -0
  21. data/doc/OpenTok/TokenGenerator/ClassMethods.html +187 -0
  22. data/doc/README.md +15 -0
  23. data/doc/_index.html +182 -0
  24. data/doc/class_list.html +54 -0
  25. data/doc/css/common.css +1 -0
  26. data/doc/css/full_list.css +57 -0
  27. data/doc/css/style.css +339 -0
  28. data/doc/file.README.html +87 -0
  29. data/doc/file_list.html +56 -0
  30. data/doc/frames.html +26 -0
  31. data/doc/index.html +87 -0
  32. data/doc/js/app.js +219 -0
  33. data/doc/js/full_list.js +178 -0
  34. data/doc/js/jquery.js +4 -0
  35. data/doc/method_list.html +227 -0
  36. data/doc/top-level-namespace.html +112 -0
  37. data/lib/opentok.rb +3 -14
  38. data/lib/opentok/archive.rb +92 -0
  39. data/lib/opentok/archive_list.rb +17 -0
  40. data/lib/opentok/archives.rb +120 -0
  41. data/lib/opentok/client.rb +125 -0
  42. data/lib/opentok/constants.rb +5 -0
  43. data/lib/opentok/exceptions.rb +10 -0
  44. data/lib/opentok/opentok.rb +174 -0
  45. data/lib/opentok/session.rb +76 -0
  46. data/lib/opentok/token_generator.rb +101 -0
  47. data/lib/opentok/version.rb +4 -0
  48. data/opentok.gemspec +29 -22
  49. data/sample/Archiving/Gemfile +4 -0
  50. data/sample/Archiving/README.md +212 -0
  51. data/sample/Archiving/archiving_sample.rb +80 -0
  52. data/sample/Archiving/public/css/sample.css +22 -0
  53. data/sample/Archiving/public/img/archiving-off.png +0 -0
  54. data/sample/Archiving/public/img/archiving-on-idle.png +0 -0
  55. data/sample/Archiving/public/img/archiving-on-message.png +0 -0
  56. data/sample/Archiving/public/js/host.js +37 -0
  57. data/sample/Archiving/public/js/participant.js +13 -0
  58. data/sample/Archiving/views/history.erb +65 -0
  59. data/sample/Archiving/views/host.erb +69 -0
  60. data/sample/Archiving/views/index.erb +48 -0
  61. data/sample/Archiving/views/layout.erb +29 -0
  62. data/sample/Archiving/views/participant.erb +55 -0
  63. data/sample/HelloWorld/Gemfile +4 -0
  64. data/sample/HelloWorld/README.md +123 -0
  65. data/sample/HelloWorld/hello_world.rb +27 -0
  66. data/sample/HelloWorld/public/js/helloworld.js +32 -0
  67. data/sample/HelloWorld/views/index.erb +21 -0
  68. data/spec/cassettes/OpenTok_Archives/should_create_archives.yml +48 -0
  69. data/spec/cassettes/OpenTok_Archives/should_create_named_archives.yml +49 -0
  70. data/spec/cassettes/OpenTok_Archives/should_delete_an_archive_by_id.yml +32 -0
  71. data/spec/cassettes/OpenTok_Archives/should_find_archives_by_id.yml +46 -0
  72. data/spec/cassettes/OpenTok_Archives/should_stop_archives.yml +48 -0
  73. data/spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_all_archives.yml +104 -0
  74. data/spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_archives_with_an_offset.yml +71 -0
  75. data/spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_count_number_of_archives.yml +60 -0
  76. data/spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_part_of_the_archives_when_using_offset_and_count.yml +82 -0
  77. data/spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_default_sessions.yml +39 -0
  78. data/spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_relayed_media_sessions.yml +39 -0
  79. data/spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_relayed_media_sessions_with_a_location_hint.yml +39 -0
  80. data/spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_routed_media_sessions.yml +39 -0
  81. data/spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_routed_media_sessions_for_invalid_media_modes.yml +39 -0
  82. data/spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_routed_media_sessions_with_a_location_hint.yml +39 -0
  83. data/spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_sessions_with_a_location_hint.yml +39 -0
  84. data/spec/matchers/token.rb +48 -0
  85. data/spec/opentok/archives_spec.rb +91 -0
  86. data/spec/opentok/opentok_spec.rb +144 -0
  87. data/spec/opentok/session_spec.rb +71 -0
  88. data/spec/shared/opentok_generates_tokens.rb +62 -0
  89. data/spec/shared/session_generates_tokens.rb +63 -0
  90. data/spec/spec_helper.rb +6 -7
  91. metadata +197 -59
  92. data/.rspec +0 -3
  93. data/CHANGES +0 -33
  94. data/doc/reference.md +0 -122
  95. data/lib/open_tok/archive.rb +0 -53
  96. data/lib/open_tok/archive_timeline_event.rb +0 -22
  97. data/lib/open_tok/archive_video_resource.rb +0 -28
  98. data/lib/open_tok/exception.rb +0 -50
  99. data/lib/open_tok/open_tok_sdk.rb +0 -198
  100. data/lib/open_tok/request.rb +0 -63
  101. data/lib/open_tok/role_constants.rb +0 -18
  102. data/lib/open_tok/session.rb +0 -25
  103. data/lib/open_tok/session_property_constants.rb +0 -30
  104. data/lib/open_tok/utils.rb +0 -10
  105. data/lib/open_tok/version.rb +0 -5
  106. data/sample/sample.rb +0 -26
  107. data/spec/cassettes/archives.yml +0 -83
  108. data/spec/cassettes/deleteArchive.yml +0 -91
  109. data/spec/cassettes/invalidSession.yml +0 -41
  110. data/spec/cassettes/session.yml +0 -46
  111. data/spec/cassettes/stitchArchive.yml +0 -42
  112. data/spec/opentok_exception_spec.rb +0 -38
  113. data/spec/opentok_spec.rb +0 -135
metadata CHANGED
@@ -1,132 +1,254 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentok
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stijn Mathysen
8
8
  - Karmen Blake
9
9
  - Song Zheng
10
+ - Patrick Quinn-Graham
11
+ - Ankur Oberoi
10
12
  autorequire:
11
13
  bindir: bin
12
14
  cert_chain: []
13
- date: 2014-04-02 00:00:00.000000000 Z
15
+ date: 2014-05-27 00:00:00.000000000 Z
14
16
  dependencies:
15
17
  - !ruby/object:Gem::Dependency
16
- name: addressable
18
+ name: bundler
17
19
  requirement: !ruby/object:Gem::Requirement
18
20
  requirements:
19
- - - '>='
21
+ - - ~>
20
22
  - !ruby/object:Gem::Version
21
- version: '0'
22
- type: :runtime
23
+ version: '1.5'
24
+ type: :development
23
25
  prerelease: false
24
26
  version_requirements: !ruby/object:Gem::Requirement
25
27
  requirements:
26
- - - '>='
28
+ - - ~>
27
29
  - !ruby/object:Gem::Version
28
- version: '0'
30
+ version: '1.5'
29
31
  - !ruby/object:Gem::Dependency
30
32
  name: rake
31
33
  requirement: !ruby/object:Gem::Requirement
32
34
  requirements:
33
- - - '>='
35
+ - - ~>
34
36
  - !ruby/object:Gem::Version
35
- version: '0'
37
+ version: 10.1.1
36
38
  type: :development
37
39
  prerelease: false
38
40
  version_requirements: !ruby/object:Gem::Requirement
39
41
  requirements:
40
- - - '>='
42
+ - - ~>
41
43
  - !ruby/object:Gem::Version
42
- version: '0'
44
+ version: 10.1.1
43
45
  - !ruby/object:Gem::Dependency
44
46
  name: rspec
45
47
  requirement: !ruby/object:Gem::Requirement
46
48
  requirements:
47
- - - '>='
49
+ - - ~>
48
50
  - !ruby/object:Gem::Version
49
- version: '0'
51
+ version: 2.14.1
50
52
  type: :development
51
53
  prerelease: false
52
54
  version_requirements: !ruby/object:Gem::Requirement
53
55
  requirements:
54
- - - '>='
56
+ - - ~>
55
57
  - !ruby/object:Gem::Version
56
- version: '0'
58
+ version: 2.14.1
57
59
  - !ruby/object:Gem::Dependency
58
60
  name: webmock
59
61
  requirement: !ruby/object:Gem::Requirement
60
62
  requirements:
61
- - - '>='
63
+ - - ~>
62
64
  - !ruby/object:Gem::Version
63
- version: '0'
65
+ version: 1.17.4
64
66
  type: :development
65
67
  prerelease: false
66
68
  version_requirements: !ruby/object:Gem::Requirement
67
69
  requirements:
68
- - - '>='
70
+ - - ~>
69
71
  - !ruby/object:Gem::Version
70
- version: '0'
72
+ version: 1.17.4
71
73
  - !ruby/object:Gem::Dependency
72
74
  name: vcr
73
75
  requirement: !ruby/object:Gem::Requirement
74
76
  requirements:
75
- - - '>='
77
+ - - ~>
76
78
  - !ruby/object:Gem::Version
77
- version: '0'
79
+ version: 2.8.0
78
80
  type: :development
79
81
  prerelease: false
82
+ version_requirements: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ~>
85
+ - !ruby/object:Gem::Version
86
+ version: 2.8.0
87
+ - !ruby/object:Gem::Dependency
88
+ name: yard
89
+ requirement: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 0.8.7
94
+ type: :development
95
+ prerelease: false
96
+ version_requirements: !ruby/object:Gem::Requirement
97
+ requirements:
98
+ - - ~>
99
+ - !ruby/object:Gem::Version
100
+ version: 0.8.7
101
+ - !ruby/object:Gem::Dependency
102
+ name: addressable
103
+ requirement: !ruby/object:Gem::Requirement
104
+ requirements:
105
+ - - ~>
106
+ - !ruby/object:Gem::Version
107
+ version: 2.3.5
108
+ type: :runtime
109
+ prerelease: false
110
+ version_requirements: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ~>
113
+ - !ruby/object:Gem::Version
114
+ version: 2.3.5
115
+ - !ruby/object:Gem::Dependency
116
+ name: httparty
117
+ requirement: !ruby/object:Gem::Requirement
118
+ requirements:
119
+ - - '='
120
+ - !ruby/object:Gem::Version
121
+ version: 0.13.0
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: !ruby/object:Gem::Requirement
125
+ requirements:
126
+ - - '='
127
+ - !ruby/object:Gem::Version
128
+ version: 0.13.0
129
+ - !ruby/object:Gem::Dependency
130
+ name: activesupport
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - '>='
134
+ - !ruby/object:Gem::Version
135
+ version: '3.2'
136
+ type: :runtime
137
+ prerelease: false
80
138
  version_requirements: !ruby/object:Gem::Requirement
81
139
  requirements:
82
140
  - - '>='
83
141
  - !ruby/object:Gem::Version
84
- version: '0'
142
+ version: '3.2'
85
143
  description: OpenTok is an API from TokBox that enables websites to weave live group
86
144
  video communication into their online experience. With OpenTok you have the freedom
87
- and flexibility to create the most engaging web experience for your users. OpenTok
88
- is currently available as a JavaScript and ActionScript 3.0 library. This gem allows
89
- you to connect to the API from within Ruby (and Rails)
145
+ and flexibility to create the most engaging web experience for your users. This
146
+ gem lets you generate sessions and tokens for OpenTok applications. It also includes
147
+ support for working with OpenTok 2.0 archives. See <http://tokbox.com/opentok/platform>
148
+ for more details.
90
149
  email:
91
150
  - stijn@skylight.be
92
151
  - karmenblake@gmail.com
93
152
  - song@tokbox.com
153
+ - pqg@tokbox.com
154
+ - ankur@tokbox.com
94
155
  executables: []
95
156
  extensions: []
96
157
  extra_rdoc_files: []
97
158
  files:
98
159
  - .gitignore
99
- - .rspec
100
- - CHANGES
160
+ - .travis.yml
161
+ - .yardopts
162
+ - CONTRIBUTING.md
163
+ - DEVELOPING.md
101
164
  - Gemfile
102
165
  - LICENSE
103
166
  - README.md
104
167
  - Rakefile
105
- - doc/reference.md
106
- - lib/open_tok/archive.rb
107
- - lib/open_tok/archive_timeline_event.rb
108
- - lib/open_tok/archive_video_resource.rb
109
- - lib/open_tok/exception.rb
110
- - lib/open_tok/open_tok_sdk.rb
111
- - lib/open_tok/request.rb
112
- - lib/open_tok/role_constants.rb
113
- - lib/open_tok/session.rb
114
- - lib/open_tok/session_property_constants.rb
115
- - lib/open_tok/utils.rb
116
- - lib/open_tok/version.rb
168
+ - doc/OpenTok.html
169
+ - doc/OpenTok/Archive.html
170
+ - doc/OpenTok/ArchiveList.html
171
+ - doc/OpenTok/Archives.html
172
+ - doc/OpenTok/Client.html
173
+ - doc/OpenTok/OpenTok.html
174
+ - doc/OpenTok/OpenTokArchiveError.html
175
+ - doc/OpenTok/OpenTokAuthenticationError.html
176
+ - doc/OpenTok/OpenTokError.html
177
+ - doc/OpenTok/Session.html
178
+ - doc/OpenTok/TokenGenerator.html
179
+ - doc/OpenTok/TokenGenerator/ClassMethods.html
180
+ - doc/README.md
181
+ - doc/_index.html
182
+ - doc/class_list.html
183
+ - doc/css/common.css
184
+ - doc/css/full_list.css
185
+ - doc/css/style.css
186
+ - doc/file.README.html
187
+ - doc/file_list.html
188
+ - doc/frames.html
189
+ - doc/index.html
190
+ - doc/js/app.js
191
+ - doc/js/full_list.js
192
+ - doc/js/jquery.js
193
+ - doc/method_list.html
194
+ - doc/top-level-namespace.html
117
195
  - lib/opentok.rb
196
+ - lib/opentok/archive.rb
197
+ - lib/opentok/archive_list.rb
198
+ - lib/opentok/archives.rb
199
+ - lib/opentok/client.rb
200
+ - lib/opentok/constants.rb
201
+ - lib/opentok/exceptions.rb
202
+ - lib/opentok/opentok.rb
203
+ - lib/opentok/session.rb
204
+ - lib/opentok/token_generator.rb
205
+ - lib/opentok/version.rb
118
206
  - opentok.gemspec
119
- - sample/sample.rb
120
- - spec/cassettes/archives.yml
121
- - spec/cassettes/deleteArchive.yml
122
- - spec/cassettes/invalidSession.yml
123
- - spec/cassettes/session.yml
124
- - spec/cassettes/stitchArchive.yml
125
- - spec/opentok_exception_spec.rb
126
- - spec/opentok_spec.rb
207
+ - sample/Archiving/Gemfile
208
+ - sample/Archiving/README.md
209
+ - sample/Archiving/archiving_sample.rb
210
+ - sample/Archiving/public/css/sample.css
211
+ - sample/Archiving/public/img/archiving-off.png
212
+ - sample/Archiving/public/img/archiving-on-idle.png
213
+ - sample/Archiving/public/img/archiving-on-message.png
214
+ - sample/Archiving/public/js/host.js
215
+ - sample/Archiving/public/js/participant.js
216
+ - sample/Archiving/views/history.erb
217
+ - sample/Archiving/views/host.erb
218
+ - sample/Archiving/views/index.erb
219
+ - sample/Archiving/views/layout.erb
220
+ - sample/Archiving/views/participant.erb
221
+ - sample/HelloWorld/Gemfile
222
+ - sample/HelloWorld/README.md
223
+ - sample/HelloWorld/hello_world.rb
224
+ - sample/HelloWorld/public/js/helloworld.js
225
+ - sample/HelloWorld/views/index.erb
226
+ - spec/cassettes/OpenTok_Archives/should_create_archives.yml
227
+ - spec/cassettes/OpenTok_Archives/should_create_named_archives.yml
228
+ - spec/cassettes/OpenTok_Archives/should_delete_an_archive_by_id.yml
229
+ - spec/cassettes/OpenTok_Archives/should_find_archives_by_id.yml
230
+ - spec/cassettes/OpenTok_Archives/should_stop_archives.yml
231
+ - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_all_archives.yml
232
+ - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_archives_with_an_offset.yml
233
+ - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_count_number_of_archives.yml
234
+ - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_part_of_the_archives_when_using_offset_and_count.yml
235
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_default_sessions.yml
236
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_relayed_media_sessions.yml
237
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_relayed_media_sessions_with_a_location_hint.yml
238
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_routed_media_sessions.yml
239
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_routed_media_sessions_for_invalid_media_modes.yml
240
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_routed_media_sessions_with_a_location_hint.yml
241
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_sessions_with_a_location_hint.yml
242
+ - spec/matchers/token.rb
243
+ - spec/opentok/archives_spec.rb
244
+ - spec/opentok/opentok_spec.rb
245
+ - spec/opentok/session_spec.rb
246
+ - spec/shared/opentok_generates_tokens.rb
247
+ - spec/shared/session_generates_tokens.rb
127
248
  - spec/spec_helper.rb
128
- homepage: https://github.com/opentok/Opentok-Ruby-SDK
129
- licenses: []
249
+ homepage: https://opentok.github.io/opentok-ruby-sdk
250
+ licenses:
251
+ - MIT
130
252
  metadata: {}
131
253
  post_install_message:
132
254
  rdoc_options: []
@@ -143,17 +265,33 @@ required_rubygems_version: !ruby/object:Gem::Requirement
143
265
  - !ruby/object:Gem::Version
144
266
  version: '0'
145
267
  requirements: []
146
- rubyforge_project: opentok
268
+ rubyforge_project:
147
269
  rubygems_version: 2.0.14
148
270
  signing_key:
149
271
  specification_version: 4
150
- summary: OpenTok gem
272
+ summary: Ruby gem for the OpenTok API
151
273
  test_files:
152
- - spec/cassettes/archives.yml
153
- - spec/cassettes/deleteArchive.yml
154
- - spec/cassettes/invalidSession.yml
155
- - spec/cassettes/session.yml
156
- - spec/cassettes/stitchArchive.yml
157
- - spec/opentok_exception_spec.rb
158
- - spec/opentok_spec.rb
274
+ - spec/cassettes/OpenTok_Archives/should_create_archives.yml
275
+ - spec/cassettes/OpenTok_Archives/should_create_named_archives.yml
276
+ - spec/cassettes/OpenTok_Archives/should_delete_an_archive_by_id.yml
277
+ - spec/cassettes/OpenTok_Archives/should_find_archives_by_id.yml
278
+ - spec/cassettes/OpenTok_Archives/should_stop_archives.yml
279
+ - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_all_archives.yml
280
+ - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_archives_with_an_offset.yml
281
+ - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_count_number_of_archives.yml
282
+ - spec/cassettes/OpenTok_Archives/when_many_archives_are_created/should_return_part_of_the_archives_when_using_offset_and_count.yml
283
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_default_sessions.yml
284
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_relayed_media_sessions.yml
285
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_relayed_media_sessions_with_a_location_hint.yml
286
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_routed_media_sessions.yml
287
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_routed_media_sessions_for_invalid_media_modes.yml
288
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_routed_media_sessions_with_a_location_hint.yml
289
+ - spec/cassettes/OpenTok_OpenTok/when_initialized_properly/_create_session/creates_sessions_with_a_location_hint.yml
290
+ - spec/matchers/token.rb
291
+ - spec/opentok/archives_spec.rb
292
+ - spec/opentok/opentok_spec.rb
293
+ - spec/opentok/session_spec.rb
294
+ - spec/shared/opentok_generates_tokens.rb
295
+ - spec/shared/session_generates_tokens.rb
159
296
  - spec/spec_helper.rb
297
+ has_rdoc:
data/.rspec DELETED
@@ -1,3 +0,0 @@
1
- --format documentation
2
- --colour
3
- --tty
data/CHANGES DELETED
@@ -1,33 +0,0 @@
1
- = Change Log
2
-
3
- == Version 0.0.8
4
-
5
- * Removed references to the staging environment as it no longer exists
6
-
7
- == Version 0.0.73
8
-
9
- * Added stitchArchive functionality
10
- * Updated Test Cases ( thanks to https://github.com/rlivsey )
11
- * Download Archive duplication and error catching ( thanks to https://github.com/muescha )
12
-
13
- == Version 0.0.5
14
-
15
- * Added connection_data to generate token method (thanks to https://github.com/jonmumm)
16
-
17
- == Version 0.0.4
18
-
19
- * Thanks to Ruslan Doroshenko (https://github.com/rdoroshenko) for adding the P2P constant to the SDK.
20
-
21
- == Version 0.0.3
22
-
23
- * minor fixes to the documentation
24
-
25
- == Version 0.0.2
26
-
27
- * Code cleanup
28
- * Included missing files
29
- * adding basic tests and documentation
30
-
31
- == Version 0.0.1
32
-
33
- Initial version
@@ -1,122 +0,0 @@
1
- OpenTok Ruby SDK reference
2
- ==========================
3
-
4
- You need to instantiate an OpenTokSDK object before calling any of its methods.
5
- To create a new OpenTokSDK object, call the OpenTokSDK constructor with the API key
6
- and the API secret TokBox issued you. (You get an API key when you
7
- <a href="https://dashboard.tokbox.com/users/sign_in">sign up</a> for an OpenTok account.) Do not reveal
8
- your API secret string. You use it with the OpenTokSDK constructor (only on your web
9
- server) to create OpenTok sessions.
10
-
11
- API_KEY = '' # should be a string
12
- API_SECRET = '' # should be a string
13
- OTSDK = OpenTok::OpenTokSDK.new API_KEY, API_SECRET
14
-
15
- create_session() method
16
- -----------------------
17
- The `create_session()` method of the OpenTokSDK object to create a new OpenTok
18
- session and obtain a session ID.
19
-
20
- The `create_session()` method has the following parameters:
21
-
22
- * `location` (String) &mdash; An IP address that TokBox will use to situate the session in its global network.
23
- In general, you should not pass in a location hint (or pass in nil); if no location hint is passed in, the session
24
- uses a media server based on the location of the first client connecting to the session. Pass a location hint in only
25
- if you know the general geographic region (and a representative IP address) and you think the first client connecting
26
- may not be in that region.
27
-
28
- * `properties` (Object) &mdash; Optional. An object used to define
29
- peer-to-peer preferences for the session. The `properties` option includes one property &mdash;
30
- `p2p.preference` (a string). This property determines whether the session's streams will
31
- be transmitted directly between peers. You can set the following possible values:
32
-
33
- * "disabled" (the default) &mdash; The session's streams will all be relayed using the OpenTok media server.
34
- <br><br>
35
- **In OpenTok v2:** The <a href="http://www.tokbox.com/blog/mantis-next-generation-cloud-technology-for-webrtc/">OpenTok
36
- media server</a> provides benefits not available in peer-to-peer sessions. For example, the OpenTok media server can
37
- decrease bandwidth usage in multiparty sessions. Also, the OpenTok server can improve the quality of the user experience
38
- through <a href="http://www.tokbox.com/blog/quality-of-experience-and-traffic-shaping-the-next-step-with-mantis/">dynamic
39
- traffic shaping</a>. For information on pricing, see the <a href="http://www.tokbox.com/pricing">OpenTok pricing page</a>.
40
-
41
- * "enabled" &mdash; The session will attempt to transmit streams directly between clients.
42
- <br><br>
43
- **In OpenTok v1:** Peer-to-peer streaming decreases latency and improves quality. If peer-to-peer streaming
44
- fails (either when streams are initially published or during the course of a session), the session falls back to using
45
- the OpenTok media server to relaying streams. (Peer-to-peer streaming uses UDP, which may be blocked by a firewall.)
46
- For a session created with peer-to-peer streaming enabled, only two clients can connect to the session at a time.
47
- If an additional client attempts to connect, the TB object on the client dispatches an exception event.
48
-
49
-
50
- The `create_session` method returns a Session object. This
51
- object includes a `sessionID` property, which is the session ID for the
52
- new session. For example, when using the OpenTok JavaScript library, use this
53
- session ID in JavaScript on the page that you serve to the client.
54
- The JavaScript will use this value when calling the `connect()`
55
- method of the Session object (to connect a user to an OpenTok session).
56
-
57
- OpenTok sessions do not expire. However, authentication tokens do expire (see the next section on the
58
- generate_token() method.) Also note that sessions cannot explicitly be destroyed.
59
-
60
- Calling the `create_session()` method results in an `OpenTokException`
61
- in the event of an error. Check the error message for details.
62
-
63
- Here is a simple that creates a OpenTok server-enabled session:
64
-
65
- sessionId = OTSDK.createSession().to_s
66
-
67
- Here is an example that creates a peer-to-peer session:
68
-
69
- sessionProperties = {OpenTok::SessionPropertyConstants::P2P_PREFERENCE => "enabled"}
70
- sessionId = OTSDK.createSession( nil, sessionProperties ).to_s
71
-
72
- You can also create a session using the <a href="http://www.tokbox.com/opentok/api/#session_id_production">OpenTok
73
- REST API</a> or the <a href="https://dashboard.tokbox.com/projects">OpenTok dashboard</a>.
74
-
75
-
76
- generate_token() method
77
- -----------------------
78
-
79
- In order to authenticate a user connecting to a OpenTok
80
- session, a user must pass an authentication token along with the API key.
81
-
82
- The method has the following parameters:
83
-
84
- * `session_id` (String) &mdash; The session ID corresponding to the session to which the user will connect.
85
-
86
- * `role` (String) &mdash; Optional. Each role defines a set of permissions granted to the token.
87
- Valid values are defined in the RoleConstants class in the server-side SDKs:
88
-
89
- * `SUBSCRIBER` &mdash; A subscriber can only subscribe to streams.</li>
90
-
91
- * `PUBLISHER` &mdash; A publisher can publish streams, subscribe to streams, and signal.
92
- (This is the default value if you do not specify a value for the `role` parameter.)</li>
93
-
94
- * `MODERATOR` &mdash; In addition to the privileges granted to a publisher, a moderator
95
- can call the `forceUnpublish()` and `forceDisconnect()` method of the
96
- Session object.</li>
97
-
98
- * `expire_time` (int) &mdash; Optional. The time when the token
99
- will expire, defined as an integer value for a Unix timestamp (in seconds).
100
- If you do not specify this value, tokens expire in 24 hours after being created.
101
- The `expiration_time` value, if specified, must be within 30 days
102
- of the creation time.
103
-
104
- * `connection_data` (String) &mdash; Optional. A string containing metadata describing the connection.
105
- For example, you can pass the user ID, name, or other data describing the connection.
106
- The length of the string is limited to 1000 characters.
107
-
108
- Calling the `generate_token()` method returns the token string.
109
-
110
- The following code example shows how to obtain a publisher token:
111
-
112
- token = OTSDK.generateToken :session_id => sessionId
113
-
114
- The following PHP code example shows how to obtain a token that has a role of "moderator" and that has
115
- a connection metadata string:
116
-
117
- role = OpenTok::RoleConstants::MODERATOR
118
- connection_data = "username=Bob,level=4"
119
- token = OTSDK.generateToken :session_id => sessionId, :role => role, :connection_data => connection_data
120
-
121
- For testing, you can also use the <a href="https://dashboard.tokbox.com/projects">OpenTok dashboard</a>
122
- page to generate test tokens.