bigbluebutton-api-ruby 1.3.0 → 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +2 -1
- data/.rspec +1 -0
- data/.ruby-version +1 -1
- data/.travis.yml +7 -3
- data/CHANGELOG.md +197 -0
- data/Dockerfile +13 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +26 -13
- data/LICENSE +1 -1
- data/README.md +96 -0
- data/Rakefile +8 -4
- data/bigbluebutton-api-ruby.gemspec +19 -12
- data/docker-compose.yml +10 -0
- data/examples/get_version_example.rb +1 -3
- data/examples/join_example.rb +0 -1
- data/examples/prepare.rb +1 -1
- data/features/config.yml.example +5 -9
- data/features/step_definitions/common_steps.rb +3 -4
- data/lib/bigbluebutton_api.rb +111 -32
- data/lib/bigbluebutton_config_layout.rb +3 -1
- data/lib/bigbluebutton_config_xml.rb +8 -5
- data/lib/bigbluebutton_exception.rb +1 -1
- data/lib/bigbluebutton_formatter.rb +4 -2
- data/lib/bigbluebutton_hash_to_xml.rb +3 -1
- data/spec/bigbluebutton_api_0.81_spec.rb +2 -3
- data/spec/bigbluebutton_api_0.9_spec.rb +32 -0
- data/spec/bigbluebutton_api_spec.rb +665 -599
- data/spec/bigbluebutton_config_xml_spec.rb +30 -4
- data/spec/bigbluebutton_formatter_spec.rb +36 -7
- metadata +113 -35
- data/CHANGELOG.rdoc +0 -90
- data/README.rdoc +0 -62
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 25726eaedf0a5b63156a7786a793f27a419e349a177419fdaecb0e0aac0295d6
|
4
|
+
data.tar.gz: 6e8ec707b2f53e06ba21163d2f5d34766436e49f852991434d3aa787a4108deb
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 810382ae7b2f54be6ac766e10db46a61f76a4120c84bb1a99600012266db562da53149d7ee0bde1c7a2b3939542398556a7faa85dd24153c669f04875ac90213
|
7
|
+
data.tar.gz: 229132ef71db18f0a972daefb0b5b0ad49c53c63655877923323a163f99d15b383d4f0ac7344ebba61a6b5961f3a08abc2dc50a9ef217d4eccf0fcbfc2fdc527
|
data/.gitignore
CHANGED
data/.rspec
CHANGED
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
2.6.5
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,197 @@
|
|
1
|
+
# Change Log
|
2
|
+
|
3
|
+
## [1.8.0] - 2021-12-06
|
4
|
+
* [#43] Add keys to every `BigBlueButtonException`, to better identify them.
|
5
|
+
* [#42] Change `BigBlueButtonException` to inherit from `StandardError` instead of `Exception`.
|
6
|
+
* [#50] [BREAKING-CHANGE] Replace `debug` flag with a optional Logger. The application using the
|
7
|
+
gem can pass its own logger as argument for the `BigBlueButtonApi` initialization.
|
8
|
+
If none is passed, the gem will use its own default logger on `STDOUT` with `INFO` level.
|
9
|
+
* [#40] Fix issue preventing documents from being preuploaded using the create call.
|
10
|
+
* Fix parse of recordings with invalid times. It would break at `getRecordings` if one
|
11
|
+
of them had an empty `startTime` or `endTime`.
|
12
|
+
* Add a Dockerfile and compose to help run tests.
|
13
|
+
* Fix deprecated `TimeoutError` constant.
|
14
|
+
* [#35] Make `get_recordings` accept multiple `state` params.
|
15
|
+
* [#34] Update `rubyzip` gem to the newest version with no vulnerability, from 1.2.2 to 1.3.0
|
16
|
+
* [#33] Upgrade dependencies:
|
17
|
+
- `childprocess` from 0.3.2 to 1.0.1
|
18
|
+
- `ffi` from 1.0.11 to 1.9.24
|
19
|
+
- `json` from 1.8.3 to 1.8.6
|
20
|
+
- `nokogiri` from 1.6.6.2 to 1.10.4
|
21
|
+
- `rack` from 1.4.1 to 1.6.11
|
22
|
+
- `rdoc` from 3.12 to 3.12.1
|
23
|
+
- `rubyzip` from 0.9.8 to 1.2.2
|
24
|
+
|
25
|
+
## [1.7.0] - 2018-08-17
|
26
|
+
|
27
|
+
* [#29] Add support to the API call `updateRecordings` introduced in BigBlueButton 1.1.
|
28
|
+
* [#31] Fixed issue with length=nil breaking multiple recording formats.
|
29
|
+
* Call `setConfigXML` via POST and change encoding method. Fixes issues with special
|
30
|
+
characters (such as `*`) in the config.xml.
|
31
|
+
* Add method to return the URL to `/check`.
|
32
|
+
|
33
|
+
## [1.6.0] - 2016-06-15
|
34
|
+
|
35
|
+
* Rename BigBlueButtonApi#salt to #secret
|
36
|
+
|
37
|
+
## [1.5.0] - 2016-04-07
|
38
|
+
|
39
|
+
* Add 1.0 as a supported version of BigBlueButton.
|
40
|
+
* [#1686] Automatically set the version number of a server by fetching it from
|
41
|
+
its API.
|
42
|
+
* [#1686] Fix comparison of config.xml strings that would sometimes thing XMLs
|
43
|
+
were different in cases when they were not.
|
44
|
+
* [#1695] Add support for servers that use HTTPS.
|
45
|
+
|
46
|
+
## [1.4.0] - 2015-07-20
|
47
|
+
|
48
|
+
* Updated default ruby version to 2.2.0.
|
49
|
+
* Add support for BigBlueButton 0.9 (includes all 0.9.x). Consists only in
|
50
|
+
accepting the version "0.9", since this new API version doesn't break
|
51
|
+
compatibility with the previous version and also doesn't add new API
|
52
|
+
calls.
|
53
|
+
|
54
|
+
## [1.3.0] - 2014-05-11
|
55
|
+
|
56
|
+
* Drop support to BigBlueButton 0.7 and add BigBlueButton to 0.81. Includes
|
57
|
+
support to the new API calls `getDefaultConfigXML` and `setConfigXML`.
|
58
|
+
* Reviewed all methods responses (some changed a bit) and documentation.
|
59
|
+
* Allow non standard options to be passed to **all** API calls.
|
60
|
+
* Removed method `join_meeting` that was usually not used. Should always use
|
61
|
+
`join_meeting_url`.
|
62
|
+
* Moved the hash extension method `from_xml` to its own class to prevent
|
63
|
+
conflicts with Rails. See
|
64
|
+
https://github.com/mconf/bigbluebutton-api-ruby/pull/6.
|
65
|
+
|
66
|
+
## [1.2.0] - 2013-03-13
|
67
|
+
|
68
|
+
* Allow non standard options to be passed to some API calls. These API calls are: create_meeting, join_meeting_url, join_meeting, get_recordings.
|
69
|
+
Useful for development of for custom versions of BigBlueButton.
|
70
|
+
* Accept :record as boolean in create_meeting
|
71
|
+
* Better formatting of data returned by get_recordings
|
72
|
+
|
73
|
+
## [1.1.1] - 2013-01-30
|
74
|
+
|
75
|
+
* BigBlueButtonApi can now receive http headers to be sent in all get/post
|
76
|
+
requests
|
77
|
+
|
78
|
+
## [1.1.0] - 2012-05-04
|
79
|
+
|
80
|
+
* Updated ruby to 1.9.3-194.
|
81
|
+
* Support to BigBlueButton 0.4 rc1.
|
82
|
+
|
83
|
+
## [1.0.0] - 2012-05-04
|
84
|
+
|
85
|
+
* Version 0.1.0 renamed to 1.0.0.
|
86
|
+
|
87
|
+
## [0.1.0] - 2011-11-25
|
88
|
+
|
89
|
+
* Support to BigBlueButton 0.8:
|
90
|
+
* New methods for recordings: get_recordings, publish_recordings,
|
91
|
+
delete_recordings
|
92
|
+
* Pre-upload of slides in create_meeting
|
93
|
+
* New parameters added in the already existent methods
|
94
|
+
* For more information see BigBlueButton docs at
|
95
|
+
http://code.google.com/p/bigbluebutton/wiki/API#Version_0.8
|
96
|
+
* Method signature changes: create_meeting, join_meeting_url and
|
97
|
+
join_meeting. Optional parameters are now passed using a hash.
|
98
|
+
* Integration tests for the entire library using cucumber.
|
99
|
+
* Changed the XML parser to xml-simple (especially to solve issues with
|
100
|
+
CDATA values).
|
101
|
+
|
102
|
+
## [0.0.11] - 2011-09-01
|
103
|
+
|
104
|
+
* The file "bigbluebutton-api" was renamed to "bigbluebutton_api". All
|
105
|
+
"require" calls must be updated.
|
106
|
+
* Splitted the library in more files (more modular) and created rspec tests
|
107
|
+
for it.
|
108
|
+
* Added a BigBlueButtonApi.timeout attribute to timeout get requests and
|
109
|
+
avoid blocks when the server is down. Defaults to 2 secs.
|
110
|
+
* New method last_http_response to access the last HTTP response object.
|
111
|
+
* Automatically detects the BBB server version if not informed by the user.
|
112
|
+
|
113
|
+
## [0.0.10] - 2011-04-28
|
114
|
+
|
115
|
+
* Returning hash now will **always** have these 3 values: :returncode
|
116
|
+
(boolean), :messageKey (string) and :message (string).
|
117
|
+
* Some values in the hash are now converted to a fixed variable type to
|
118
|
+
avoid inconsistencies:
|
119
|
+
* :meetingID (string)
|
120
|
+
* :attendeePW (string)
|
121
|
+
* :moderatorPW (string)
|
122
|
+
* :running (boolean)
|
123
|
+
* :hasBeenForciblyEnded (boolean)
|
124
|
+
* :endTime and :startTime (DateTime or nil)
|
125
|
+
|
126
|
+
## [0.0.9] - 2011-04-08
|
127
|
+
|
128
|
+
* Simplied "attendees" part of the hash returned in get_meeting_info. Same
|
129
|
+
thing done for get_meetings.
|
130
|
+
|
131
|
+
## [0.0.8] - 2011-04-06
|
132
|
+
|
133
|
+
* New method get_api_version that returns the version of the server API (>= 0.7).
|
134
|
+
* New simplified hash syntax for get_meetings. See docs for details.
|
135
|
+
|
136
|
+
## [0.0.7] - 2011-04-06
|
137
|
+
|
138
|
+
## [0.0.6] - 2011-04-05
|
139
|
+
|
140
|
+
* New method test_connection.
|
141
|
+
* Added comparison method for APIs.
|
142
|
+
* Methods attendee_url and moderator_url deprecated. Use join_meeting_url.
|
143
|
+
* Better exception throwing when the user is unreachable or the response is incorrect.
|
144
|
+
* BigBlueButtonException has now a "key" attribute to store the
|
145
|
+
"messageKey" returned by BBB in failures.
|
146
|
+
|
147
|
+
## 0.0.4
|
148
|
+
|
149
|
+
* Added support for BigBlueButton 0.7.
|
150
|
+
* Gem renamed from 'bigbluebutton' to 'bigbluebutton-api-ruby'.
|
151
|
+
* API functions now return a hash and instead of the XML returned by BBB.
|
152
|
+
The XML is converted to a hash that uses symbols as keys and groups keys
|
153
|
+
with the same name.
|
154
|
+
|
155
|
+
## 0.0.3
|
156
|
+
|
157
|
+
* Fixes module issue preventing proper throwing of exceptions.
|
158
|
+
|
159
|
+
## 0.0.1
|
160
|
+
|
161
|
+
* This is the first version of this gem. It provides an implementation of
|
162
|
+
the 0.64 bbb API, with the following exceptions:
|
163
|
+
* Does not implement meeting token, and instead relies on meeting id as
|
164
|
+
the unique identifier for a meeting.
|
165
|
+
* Documentation suggests there is way to call join_meeting as API call
|
166
|
+
(instead of browser URL). This call currently does not work as
|
167
|
+
documented.
|
168
|
+
|
169
|
+
<!-- PRs -->
|
170
|
+
[#50]: https://github.com/mconf/bigbluebutton-api-ruby/pull/50
|
171
|
+
[#43]: https://github.com/mconf/bigbluebutton-api-ruby/pull/43
|
172
|
+
[#42]: https://github.com/mconf/bigbluebutton-api-ruby/pull/42
|
173
|
+
[#40]: https://github.com/mconf/bigbluebutton-api-ruby/pull/40
|
174
|
+
[#35]: https://github.com/mconf/bigbluebutton-api-ruby/pull/35
|
175
|
+
[#34]: https://github.com/mconf/bigbluebutton-api-ruby/pull/34
|
176
|
+
[#33]: https://github.com/mconf/bigbluebutton-api-ruby/pull/33
|
177
|
+
[#31]: https://github.com/mconf/bigbluebutton-api-ruby/pull/31
|
178
|
+
[#29]: https://github.com/mconf/bigbluebutton-api-ruby/pull/29
|
179
|
+
|
180
|
+
<!-- Versions -->
|
181
|
+
[1.8.0]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v1.7.0...v1.8.0
|
182
|
+
[1.7.0]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v1.6.0...v1.7.0
|
183
|
+
[1.6.0]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v1.5.0...v1.6.0
|
184
|
+
[1.5.0]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v1.4.0...v1.5.0
|
185
|
+
[1.4.0]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v1.3.0...v1.4.0
|
186
|
+
[1.3.0]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v1.2.0...v1.3.0
|
187
|
+
[1.2.0]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v1.1.1...v1.2.0
|
188
|
+
[1.1.1]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v1.1.0...v1.1.1
|
189
|
+
[1.1.0]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v1.0.0...v1.1.0
|
190
|
+
[1.0.0]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v0.1.0...v1.0.0
|
191
|
+
[0.1.0]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v0.0.11...v0.1.0
|
192
|
+
[0.0.11]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v0.0.10...v0.0.11
|
193
|
+
[0.0.10]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v0.0.9...v0.0.10
|
194
|
+
[0.0.9]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v0.0.8...v0.0.9
|
195
|
+
[0.0.8]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v0.0.7...v0.0.8
|
196
|
+
[0.0.7]: https://github.com/mconf/bigbluebutton-api-ruby/compare/v0.0.6...v0.0.7
|
197
|
+
[0.0.6]: https://github.com/mconf/bigbluebutton-api-ruby/compare/b586c4726d32e9c30139357bcbe2067f868ff36c...v0.0.6
|
data/Dockerfile
ADDED
data/Gemfile
CHANGED
@@ -4,13 +4,13 @@ gemspec
|
|
4
4
|
|
5
5
|
group :developement do
|
6
6
|
gem 'rake', '>= 0.9'
|
7
|
-
gem 'rdoc'
|
7
|
+
gem 'rdoc', '3.12.1'
|
8
8
|
end
|
9
9
|
|
10
10
|
group :development, :test do
|
11
11
|
gem 'rspec', '~> 2.10'
|
12
12
|
gem 'cucumber-rails'
|
13
13
|
gem 'forgery'
|
14
|
-
gem 'bbbot-ruby', :git => '
|
14
|
+
gem 'bbbot-ruby', :git => 'https://github.com/mconf/bbbot-ruby.git'
|
15
15
|
# gem 'rails_best_practices'
|
16
16
|
end
|
data/Gemfile.lock
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
GIT
|
2
|
-
remote:
|
2
|
+
remote: https://github.com/mconf/bbbot-ruby.git
|
3
3
|
revision: fcfd8c4c71371653335a46d7462ee14a9301f546
|
4
4
|
specs:
|
5
5
|
bbbot-ruby (0.0.1)
|
@@ -7,8 +7,14 @@ GIT
|
|
7
7
|
PATH
|
8
8
|
remote: .
|
9
9
|
specs:
|
10
|
-
bigbluebutton-api-ruby (1.
|
11
|
-
|
10
|
+
bigbluebutton-api-ruby (1.8.0)
|
11
|
+
childprocess (>= 1.0.1)
|
12
|
+
ffi (>= 1.9.24)
|
13
|
+
json (>= 1.8.6)
|
14
|
+
nokogiri (>= 1.10.4)
|
15
|
+
rack (>= 1.6.11)
|
16
|
+
rubyzip (>= 1.3.0)
|
17
|
+
xml-simple (~> 1.1)
|
12
18
|
|
13
19
|
GEM
|
14
20
|
remote: http://rubygems.org/
|
@@ -22,8 +28,8 @@ GEM
|
|
22
28
|
rack-test (>= 0.5.4)
|
23
29
|
selenium-webdriver (~> 2.0)
|
24
30
|
xpath (~> 0.1.4)
|
25
|
-
childprocess (0.
|
26
|
-
|
31
|
+
childprocess (1.0.1)
|
32
|
+
rake (< 13.0)
|
27
33
|
cucumber (1.1.9)
|
28
34
|
builder (>= 2.1.2)
|
29
35
|
diff-lcs (>= 1.1.2)
|
@@ -35,22 +41,25 @@ GEM
|
|
35
41
|
cucumber (>= 1.1.8)
|
36
42
|
nokogiri (>= 1.5.0)
|
37
43
|
diff-lcs (1.1.3)
|
38
|
-
ffi (1.
|
44
|
+
ffi (1.9.24)
|
39
45
|
forgery (0.5.0)
|
40
46
|
gherkin (2.9.3)
|
41
47
|
json (>= 1.4.6)
|
42
|
-
json (1.
|
48
|
+
json (1.8.6)
|
43
49
|
libwebsocket (0.1.3)
|
44
50
|
addressable
|
45
51
|
mime-types (1.18)
|
52
|
+
mini_portile2 (2.4.0)
|
46
53
|
multi_json (1.3.4)
|
47
|
-
nokogiri (1.
|
48
|
-
|
54
|
+
nokogiri (1.10.4)
|
55
|
+
mini_portile2 (~> 2.4.0)
|
56
|
+
rack (1.6.11)
|
49
57
|
rack-test (0.6.1)
|
50
58
|
rack (>= 1.0)
|
51
59
|
rake (0.9.2.2)
|
52
|
-
rdoc (3.12)
|
60
|
+
rdoc (3.12.1)
|
53
61
|
json (~> 1.4)
|
62
|
+
rexml (3.2.5)
|
54
63
|
rspec (2.10.0)
|
55
64
|
rspec-core (~> 2.10.0)
|
56
65
|
rspec-expectations (~> 2.10.0)
|
@@ -59,7 +68,7 @@ GEM
|
|
59
68
|
rspec-expectations (2.10.0)
|
60
69
|
diff-lcs (~> 1.1.3)
|
61
70
|
rspec-mocks (2.10.0)
|
62
|
-
rubyzip (
|
71
|
+
rubyzip (1.3.0)
|
63
72
|
selenium-webdriver (2.21.2)
|
64
73
|
childprocess (>= 0.2.5)
|
65
74
|
ffi (~> 1.0)
|
@@ -67,7 +76,8 @@ GEM
|
|
67
76
|
multi_json (~> 1.0)
|
68
77
|
rubyzip
|
69
78
|
term-ansicolor (1.0.7)
|
70
|
-
xml-simple (1.1.
|
79
|
+
xml-simple (1.1.9)
|
80
|
+
rexml
|
71
81
|
xpath (0.1.4)
|
72
82
|
nokogiri (~> 1.3)
|
73
83
|
|
@@ -80,5 +90,8 @@ DEPENDENCIES
|
|
80
90
|
cucumber-rails
|
81
91
|
forgery
|
82
92
|
rake (>= 0.9)
|
83
|
-
rdoc
|
93
|
+
rdoc (= 3.12.1)
|
84
94
|
rspec (~> 2.10)
|
95
|
+
|
96
|
+
BUNDLED WITH
|
97
|
+
1.17.3
|
data/LICENSE
CHANGED
data/README.md
ADDED
@@ -0,0 +1,96 @@
|
|
1
|
+
# bigbluebutton-api-ruby [<img src="http://travis-ci.org/mconf/bigbluebutton-api-ruby.png"/>](http://travis-ci.org/mconf/bigbluebutton-api-ruby)
|
2
|
+
|
3
|
+
This is a ruby gem that provides access to the API of
|
4
|
+
[BigBlueButton](http://bigbluebutton.org). See the documentation of the API
|
5
|
+
[here](http://code.google.com/p/bigbluebutton/wiki/API).
|
6
|
+
|
7
|
+
It enables a ruby application to interact with BigBlueButton by calling ruby
|
8
|
+
methods instead of HTTP requests, making it a lot easier to interact with
|
9
|
+
BigBlueButton. It also formats the responses to a ruby-friendly format and
|
10
|
+
includes helper classes to deal with more complicated API calls, such as the
|
11
|
+
pre-upload of slides.
|
12
|
+
|
13
|
+
A few features it has:
|
14
|
+
|
15
|
+
* Provides methods to perform all API calls and get the responses;
|
16
|
+
* Converts the XML responses to ruby hashes, that are easier to work with;
|
17
|
+
* Converts the string values returned to native ruby types. For instance:
|
18
|
+
* Dates are converted DateTime objects (e.g. "Thu Sep 01 17:51:42 UTC 2011");
|
19
|
+
* Response codes are converted to boolean (e.g. "SUCCESS" becomes `true`);
|
20
|
+
* Deals with errors (e.g. timeouts) throwing `BigBlueButtonException` exceptions;
|
21
|
+
* Support to multiple BigBlueButton API versions (see below).
|
22
|
+
|
23
|
+
## Supported versions
|
24
|
+
|
25
|
+
This gem is mainly used with [Mconf-Web](https://github.com/mconf/mconf-web) through
|
26
|
+
[BigbluebuttonRails](https://github.com/mconf/bigbluebutton_rails).
|
27
|
+
You can always use it as a reference for verions of dependencies and examples of how
|
28
|
+
to use the gem.
|
29
|
+
|
30
|
+
### BigBlueButton
|
31
|
+
|
32
|
+
The current version of this gem supports *all* the following versions of
|
33
|
+
BigBlueButton:
|
34
|
+
|
35
|
+
* 1.0
|
36
|
+
* 0.9 (includes all 0.9.x)
|
37
|
+
* 0.81
|
38
|
+
* 0.8
|
39
|
+
|
40
|
+
Older versions:
|
41
|
+
|
42
|
+
* 0.7 (including 0.7, 0.71 and 0.71a): The last version with support to 0.7*
|
43
|
+
is [version
|
44
|
+
1.2.0](https://github.com/mconf/bigbluebutton-api-ruby/tree/v1.2.0). It
|
45
|
+
supports versions 0.7 and 0.8.
|
46
|
+
* 0.64: see the branch `api-0.64`. The last version with support to 0.64 is
|
47
|
+
[version
|
48
|
+
0.0.10](https://github.com/mconf/bigbluebutton-api-ruby/tree/v0.0.10). It
|
49
|
+
supports versions 0.64 and 0.7.
|
50
|
+
|
51
|
+
### Ruby
|
52
|
+
|
53
|
+
Tested in rubies:
|
54
|
+
|
55
|
+
* ruby-2.2 **recommended**
|
56
|
+
* ruby-2.1
|
57
|
+
* ruby-2.0 (p353)
|
58
|
+
* ruby-1.9.3 (p484)
|
59
|
+
* ruby-1.9.2 (p290)
|
60
|
+
|
61
|
+
Use these versions to be sure it will work. Other patches and patch versions of these
|
62
|
+
rubies (e.g. ruby 1.9.3-p194 or 2.1.2) should work as well.
|
63
|
+
|
64
|
+
## Releases
|
65
|
+
|
66
|
+
For a list of releases and release notes see
|
67
|
+
[CHANGELOG.md](https://github.com/mconf/bigbluebutton-api-ruby/blob/master/CHANGELOG.md).
|
68
|
+
|
69
|
+
## Development
|
70
|
+
|
71
|
+
Information for developers of `bigbluebutton-api-ruby` can be found in [our
|
72
|
+
wiki](https://github.com/mconf/bigbluebutton-api-ruby/wiki).
|
73
|
+
|
74
|
+
The development of this gem is guided by the requirements of the project
|
75
|
+
Mconf. To know more about it visit the [project's
|
76
|
+
wiki](https://github.com/mconf/wiki/wiki).
|
77
|
+
|
78
|
+
## License
|
79
|
+
|
80
|
+
Distributed under The MIT License (MIT). See
|
81
|
+
[LICENSE](https://github.com/mconf/bigbluebutton-api-ruby/blob/master/LICENSE)
|
82
|
+
for the latest license, valid for all versions after 0.0.4 (including it), and
|
83
|
+
[LICENSE_003](https://github.com/mconf/bigbluebutton-api-ruby/blob/master/LICENSE_003)
|
84
|
+
for version 0.0.3 and all the previous versions.
|
85
|
+
|
86
|
+
## Contact
|
87
|
+
|
88
|
+
This project is developed as part of Mconf (http://mconf.org).
|
89
|
+
|
90
|
+
Mailing list:
|
91
|
+
* mconf-dev@googlegroups.com
|
92
|
+
|
93
|
+
Contact:
|
94
|
+
* Mconf: A scalable opensource multiconference system for web and mobile devices
|
95
|
+
* PRAV Labs - UFRGS - Porto Alegre - Brazil
|
96
|
+
* http://www.inf.ufrgs.br/prav/gtmconf
|
data/Rakefile
CHANGED
@@ -5,19 +5,23 @@ require 'rspec/core/rake_task'
|
|
5
5
|
require 'cucumber/rake/task'
|
6
6
|
|
7
7
|
desc 'Default: run tests.'
|
8
|
-
task :default => [:spec, :cucumber]
|
8
|
+
# task :default => [:spec, :cucumber]
|
9
|
+
task :default => :spec
|
9
10
|
|
10
11
|
RSpec::Core::RakeTask.new(:spec)
|
11
12
|
|
12
13
|
Cucumber::Rake::Task.new do |t|
|
13
14
|
|
15
|
+
# Disable all features that need the bot. It isn't working since BigBlueButton 0.81.
|
16
|
+
prepend = "--tags ~@need-bot"
|
17
|
+
|
14
18
|
# in jruby the class BigBlueButtonBot doesn't work (it uses fork)
|
15
19
|
if defined?(RUBY_ENGINE) and RUBY_ENGINE == 'jruby'
|
16
20
|
puts "Jruby detected, ignoring features with @need-bot"
|
17
21
|
prepend = "--tags ~@need-bot"
|
18
22
|
end
|
19
23
|
|
20
|
-
# defaults to
|
24
|
+
# defaults to the latest version, that runs all tests
|
21
25
|
# if set to 0.8 only, won't run tests for newer versions
|
22
26
|
if ENV["V"] == "0.8" or ENV["VERSION"] == "0.8"
|
23
27
|
t.cucumber_opts = "--format pretty --tags ~@wip --tags @version-all #{prepend}"
|
@@ -27,8 +31,8 @@ Cucumber::Rake::Task.new do |t|
|
|
27
31
|
end
|
28
32
|
|
29
33
|
RDoc::Task.new do |rdoc|
|
30
|
-
rdoc.rdoc_files.include('README.
|
31
|
-
rdoc.main = "README.
|
34
|
+
rdoc.rdoc_files.include('README.md', 'LICENSE', 'LICENSE_003', 'CHANGELOG.md', 'lib/**/*.rb')
|
35
|
+
rdoc.main = "README.md"
|
32
36
|
rdoc.title = "bigbluebutton-api-ruby Docs"
|
33
37
|
rdoc.rdoc_dir = 'rdoc'
|
34
38
|
end
|
@@ -1,17 +1,24 @@
|
|
1
1
|
$:.push File.expand_path("../lib", __FILE__)
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
|
-
s.name
|
5
|
-
s.version
|
6
|
-
s.
|
7
|
-
s.
|
8
|
-
s.
|
9
|
-
s.
|
10
|
-
s.
|
11
|
-
s.
|
12
|
-
s.
|
13
|
-
s.
|
14
|
-
s.
|
4
|
+
s.name = "bigbluebutton-api-ruby"
|
5
|
+
s.version = "1.8.0"
|
6
|
+
s.licenses = ["MIT"]
|
7
|
+
s.extra_rdoc_files = ["README.md", "LICENSE", "LICENSE_003", "CHANGELOG.md"]
|
8
|
+
s.summary = "BigBlueButton integration for ruby"
|
9
|
+
s.description = "Provides methods to access BigBlueButton in a ruby application through its API"
|
10
|
+
s.authors = ["Mconf", "Leonardo Crauss Daronco"]
|
11
|
+
s.email = ["contact@mconf.org", "leonardodaronco@gmail.com"]
|
12
|
+
s.homepage = "https://github.com/mconf/bigbluebutton-api-ruby/"
|
13
|
+
s.bindir = "bin"
|
14
|
+
s.files = `git ls-files`.split("\n")
|
15
|
+
s.require_paths = ["lib"]
|
15
16
|
|
16
|
-
s.add_runtime_dependency('
|
17
|
+
s.add_runtime_dependency('childprocess', '>= 1.0.1')
|
18
|
+
s.add_runtime_dependency('ffi', '>= 1.9.24')
|
19
|
+
s.add_runtime_dependency('json', '>= 1.8.6')
|
20
|
+
s.add_runtime_dependency('nokogiri', '>= 1.10.4')
|
21
|
+
s.add_runtime_dependency('rack', '>= 1.6.11')
|
22
|
+
s.add_runtime_dependency('rubyzip', '>= 1.3.0')
|
23
|
+
s.add_runtime_dependency('xml-simple', '~> 1.1')
|
17
24
|
end
|
data/docker-compose.yml
ADDED
@@ -7,11 +7,9 @@ require 'prepare'
|
|
7
7
|
begin
|
8
8
|
prepare
|
9
9
|
|
10
|
-
@api = BigBlueButton::BigBlueButtonApi.new(@config['bbb_url'], @config['bbb_salt'], nil, true)
|
11
|
-
|
12
10
|
puts
|
13
11
|
puts "---------------------------------------------------"
|
14
|
-
puts "The version of your BBB server is: #{@api.
|
12
|
+
puts "The version of your BBB server is: #{@api.get_api_version}"
|
15
13
|
rescue Exception => ex
|
16
14
|
puts "Failed with error #{ex.message}"
|
17
15
|
puts ex.backtrace
|
data/examples/join_example.rb
CHANGED
@@ -10,7 +10,6 @@ begin
|
|
10
10
|
meeting_name = "Test Meeting"
|
11
11
|
meeting_id = "test-meeting"
|
12
12
|
moderator_name = "House"
|
13
|
-
attendee_name = "Cameron"
|
14
13
|
unless @api.is_meeting_running?(meeting_id)
|
15
14
|
puts "---------------------------------------------------"
|
16
15
|
options = { :moderatorPW => "54321",
|
data/examples/prepare.rb
CHANGED
@@ -34,5 +34,5 @@ def prepare
|
|
34
34
|
puts server.inspect
|
35
35
|
puts
|
36
36
|
|
37
|
-
@api = BigBlueButton::BigBlueButtonApi.new(server['url'], server['
|
37
|
+
@api = BigBlueButton::BigBlueButtonApi.new(server['url'], server['secret'], server['version'].to_s, true)
|
38
38
|
end
|
data/features/config.yml.example
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
logger: nil
|
2
2
|
|
3
3
|
# maximum wait for a response to any API request (secs)
|
4
4
|
timeout_req: 60
|
@@ -10,13 +10,9 @@ timeout_ending: 30
|
|
10
10
|
timeout_bot_start: 60
|
11
11
|
|
12
12
|
servers:
|
13
|
-
test-install
|
14
|
-
salt: '8cd8ef52e8e101574e400365b55e11a6'
|
13
|
+
test-install:
|
15
14
|
url: 'http://test-install.blindsidenetworks.com/bigbluebutton/api'
|
16
|
-
|
17
|
-
|
18
|
-
bbb-08:
|
19
|
-
salt: 'lka98f52e8akdlsoie400365b55e98s7'
|
15
|
+
secret: '8cd8ef52e8e101574e400365b55e11a6'
|
16
|
+
bbb-other:
|
20
17
|
url: 'http://yourserver.com/bigbluebutton/api'
|
21
|
-
|
22
|
-
mobile_salt: '03b07' # needed for >= 0.8
|
18
|
+
secret: 'lka98f52e8akdlsoie400365b55e98s7'
|
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
When /^the default BigBlueButton server$/ do
|
4
4
|
@api = BigBlueButton::BigBlueButtonApi.new(@config_server['url'],
|
5
|
-
@config_server['
|
5
|
+
@config_server['secret'],
|
6
6
|
@config_server['version'].to_s,
|
7
|
-
@config['
|
7
|
+
@config['logger'])
|
8
8
|
@api.timeout = @config['timeout_req']
|
9
9
|
end
|
10
10
|
|
@@ -48,8 +48,7 @@ When /^the meeting is running$/ do
|
|
48
48
|
end
|
49
49
|
|
50
50
|
When /^the meeting is running with (\d+) attendees$/ do |count|
|
51
|
-
|
52
|
-
BigBlueButtonBot.new(@api, @req.id, mobile_salt, count.to_i, @config['timeout_bot_start'])
|
51
|
+
BigBlueButtonBot.new(@api, @req.id, nil, count.to_i, @config['timeout_bot_start'])
|
53
52
|
end
|
54
53
|
|
55
54
|
When /^the response is an error with the key "(.*)"$/ do |key|
|