Class: BigMarkerClient::Api::V1::Conference
- Defined in:
- lib/big_marker_client.rb,
lib/big_marker_client/api/v1/conference.rb,
lib/big_marker_client/api/v1/conference/registration.rb
Defined Under Namespace
Classes: Registration
Constant Summary collapse
- LIST_CONFERENCES =
"/conferences".freeze
- SEARCH_CONFERENCES =
"/conferences/search".freeze
- ASSOCIATED_SERIES_CONFERENCES =
"/conferences/get_associated_sessions/{id}".freeze
- RECURRING_CONFERENCES =
"/conferences/recurring/{id}".freeze
- CREATE_CONFERENCE =
"/conferences".freeze
- UPDATE_CONFERENCE =
"/conferences/{id}".freeze
- GET_CONFERENCE =
"/conferences/{id}".freeze
- GET_CONFERENCE_PRESENTERS =
"/conferences/{id}/presenters".freeze
- GET_CONFERENCE_ATTENDEES =
"/conferences/{id}/attendees".freeze
- DELETE_CONFERENCE =
"/conferences/{id}".freeze
- ENTER_CONFERENCE =
"/conferences/enter".freeze
Constants inherited from Base
Class Method Summary collapse
-
.associated_series(conference_id, params = {}) ⇒ BigMarkerClient::Models::Conference[]
get series related to a conference.
-
.associated_series_all(conference_id, params = {}) ⇒ Object
helper method to retrieve all pages for the #associated_series method.
-
.attendees(conference_id, params = {}) ⇒ BigMarkerClient::Models::Attendee[]
Get all registered attendees of a conference.
-
.attendees_all(conference_id, params = {}) ⇒ Object
helper method to retrieve all pages for the #attendees method.
-
.create(body = {}) ⇒ BigMarkerClient::Models::Conference
create a conference either with a Models::Conference object or single properties as hash.
-
.destroy(conference_id) ⇒ Object
delete a conference.
-
.enter(conference_id, name, email, body = {}) ⇒ Hash
enter a conference towards an enterprise iframe, - register_attendee_to_webinar: true/false* - attendee_first_name: First name of the attendee for registration (see register_attendee_to_webinar) - attendee_last_name: Last name of the attendee for registration (see register_attendee_to_webinar) - custom_user_id: an external user id for matching - role: the role of the user that is entering the webinar (attendee*, moderator, presenter) - exit_uri: URL that attendees will be redirected to after the webinar.
-
.list(params = {}) ⇒ BigMarkerClient::Models::Conference[]
lists all conferences, where date range con only be influenced indirectly.
-
.list_all(params = {}) ⇒ Object
helper method to retrieve all pages for the #list method.
-
.presenters(conference_id) ⇒ BigMarkerClient::Models::Presenter[]
Get all presenters of a conference.
-
.recurring(conference_id, params = {}) ⇒ BigMarkerClient::Models::Conference[]
get child conferences of a parent recurring conference.
-
.recurring_all(conference_id, params = {}) ⇒ Object
helper method to retrieve all pages for the #recurring method.
-
.search(params = {}) ⇒ BigMarkerClient::Models::Conference[]
search for conferences with specific matching criteria.
-
.search_all(params = {}) ⇒ Object
helper method to retrieve all pages for the #search method.
-
.show(conference_id) ⇒ BigMarkerClient::Models::Conference
get one conference based on it’s ID.
-
.update(conference_id, body = {}) ⇒ BigMarkerClient::Models::Conference
update a conference either with a Models::Conference object or single properties as hash.
Methods inherited from Base
Class Method Details
.associated_series(conference_id, params = {}) ⇒ BigMarkerClient::Models::Conference[]
get series related to a conference.
-
page: pagination page
-
per_page: pagination page size (20*)
91 92 93 94 95 96 97 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 91 def associated_series(conference_id, params = {}) result = get(replace_path_params(path: ASSOCIATED_SERIES_CONFERENCES, replacements: { "{id}": conference_id }), params) return map_to_model_array(result["conferences"]) if result["conferences"] result end |
.associated_series_all(conference_id, params = {}) ⇒ Object
helper method to retrieve all pages for the #associated_series method
102 103 104 105 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 102 def associated_series_all(conference_id, params = {}) path = replace_path_params(path: ASSOCIATED_SERIES_CONFERENCES, replacements: { "{id}": conference_id }) loop_over(path, "conferences", ::BigMarkerClient::Models::Conference, params) end |
.attendees(conference_id, params = {}) ⇒ BigMarkerClient::Models::Attendee[]
Get all registered attendees of a conference. Recognized @params are:
-
page: pagination page
-
per_page: pagination page size (20*)
202 203 204 205 206 207 208 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 202 def attendees(conference_id, params = {}) result = get(replace_path_params(path: GET_CONFERENCE_ATTENDEES, replacements: { "{id}": conference_id }), params) return map_to_model_array(result["attendees"], ::BigMarkerClient::Models::Attendee) if result["attendees"] result end |
.attendees_all(conference_id, params = {}) ⇒ Object
helper method to retrieve all pages for the #attendees method
213 214 215 216 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 213 def attendees_all(conference_id, params = {}) path = replace_path_params(path: GET_CONFERENCE_ATTENDEES, replacements: { "{id}": conference_id }) loop_over(path, "attendees", ::BigMarkerClient::Models::Attendee, params) end |
.create(body = {}) ⇒ BigMarkerClient::Models::Conference
create a conference either with a Models::Conference object or single properties as hash
149 150 151 152 153 154 155 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 149 def create(body = {}) body = body.to_h if body.is_a?(::BigMarkerClient::Models::Base) result = post(CREATE_CONFERENCE, body) return ::BigMarkerClient::Models::Conference.new(result) if result["id"] result end |
.destroy(conference_id) ⇒ Object
delete a conference
160 161 162 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 160 def destroy(conference_id) delete(replace_path_params(path: DELETE_CONFERENCE, replacements: { "{id}": conference_id })) end |
.enter(conference_id, name, email, body = {}) ⇒ Hash
enter a conference towards an enterprise iframe,
-
register_attendee_to_webinar: true/false*
-
attendee_first_name: First name of the attendee for registration (see register_attendee_to_webinar)
-
attendee_last_name: Last name of the attendee for registration (see register_attendee_to_webinar)
-
custom_user_id: an external user id for matching
-
role: the role of the user that is entering the webinar (attendee*, moderator, presenter)
-
exit_uri: URL that attendees will be redirected to after the webinar
177 178 179 180 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 177 def enter(conference_id, name, email, body = {}) body.merge!(id: conference_id, attendee_name: name, attendee_email: email) post(ENTER_CONFERENCE, body) end |
.list(params = {}) ⇒ BigMarkerClient::Models::Conference[]
lists all conferences, where date range con only be influenced indirectly.
-
role: Filter by member role (all*, hosting, attending)
-
type: Filter by conference type (future*, past, all, multiple_times, future_do_not_include_happening,
future_with_24_hour_room, past_with_recording, always_open, happening_now)
-
query: search in conference title
-
page: pagination page
-
page_count: pagination page size (20*), ATTENTION: this is called per_page everywhere else!
29 30 31 32 33 34 35 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 29 def list(params = {}) params["page_count"] ||= params["per_page"] if params["per_page"] result = get(LIST_CONFERENCES, params) return map_to_model_array(result["conferences"]) if result["conferences"] result end |
.list_all(params = {}) ⇒ Object
helper method to retrieve all pages for the #list method
40 41 42 43 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 40 def list_all(params = {}) params["page_count"] ||= params["per_page"] if params["per_page"] loop_over(LIST_CONFERENCES, "conferences", ::BigMarkerClient::Models::Conference, params) end |
.presenters(conference_id) ⇒ BigMarkerClient::Models::Presenter[]
Get all presenters of a conference.
186 187 188 189 190 191 192 193 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 186 def presenters(conference_id) result = get(replace_path_params(path: GET_CONFERENCE_PRESENTERS, replacements: { "{id}": conference_id })) if result["presenters"] return map_to_model_array(result["presenters"], ::BigMarkerClient::Models::Presenter) end result end |
.recurring(conference_id, params = {}) ⇒ BigMarkerClient::Models::Conference[]
get child conferences of a parent recurring conference.
-
start_time: conferences with start time after this date (Unix timestamp)
-
end_time: conferences with end time before this date (Unix timestamp)
-
page: pagination page
-
per_page: pagination page size (20*)
116 117 118 119 120 121 122 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 116 def recurring(conference_id, params = {}) result = get(replace_path_params(path: RECURRING_CONFERENCES, replacements: { "{id}": conference_id }), params) return map_to_model_array(result["child_conferences"]) if result["child_conferences"] result end |
.recurring_all(conference_id, params = {}) ⇒ Object
helper method to retrieve all pages for the #recurring method
127 128 129 130 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 127 def recurring_all(conference_id, params = {}) path = replace_path_params(path: RECURRING_CONFERENCES, replacements: { "{id}": conference_id }) loop_over(path, "child_conferences", ::BigMarkerClient::Models::Conference, params) end |
.search(params = {}) ⇒ BigMarkerClient::Models::Conference[]
search for conferences with specific matching criteria.
-
title: search in conference title
-
start_time: conferences with start time after this date (Unix timestamp)
-
end_time: conferences with end time before this date (Unix timestamp)
-
conference_ids: select conferences based on their IDs (comma separated)
-
presenter_member_ids: select conferences based on their presenters IDs (comma separated)
-
role: Filter by member role (all*, hosting, attending)
-
type: Filter by conference type (evergreen_parent evergreen_child recurring_parent recurring_child
meetingspace ondemand live_webinar webcast)
-
page: pagination page
-
per_page: pagination page size (20*)
59 60 61 62 63 64 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 59 def search(params = {}) result = post(SEARCH_CONFERENCES, params) return map_to_model_array(result["conferences"]) if result["conferences"] result end |
.search_all(params = {}) ⇒ Object
helper method to retrieve all pages for the #search method
69 70 71 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 69 def search_all(params = {}) loop_over(SEARCH_CONFERENCES, "conferences", ::BigMarkerClient::Models::Conference, params, :post) end |
.show(conference_id) ⇒ BigMarkerClient::Models::Conference
get one conference based on it’s ID
77 78 79 80 81 82 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 77 def show(conference_id) result = get(replace_path_params(path: GET_CONFERENCE, replacements: { "{id}": conference_id })) return ::BigMarkerClient::Models::Conference.new(result["conference"]) if result["conference"] result end |
.update(conference_id, body = {}) ⇒ BigMarkerClient::Models::Conference
update a conference either with a Models::Conference object or single properties as hash
137 138 139 140 141 142 143 |
# File 'lib/big_marker_client/api/v1/conference.rb', line 137 def update(conference_id, body = {}) body = body.to_h if body.is_a?(::BigMarkerClient::Models::Conference) result = put(replace_path_params(path: UPDATE_CONFERENCE, replacements: { "{id}": conference_id }), body) return ::BigMarkerClient::Models::Conference.new(result) if result["id"] result end |