bigbluebutton-api-ruby 1.3.0 → 1.8.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 +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|
|