class BigMarkerClient::Api::V1::Conference

Constants

ASSOCIATED_SERIES_CONFERENCES
CREATE_CONFERENCE
DELETE_CONFERENCE
ENTER_CONFERENCE
GET_CONFERENCE
GET_CONFERENCE_ATTENDEES
GET_CONFERENCE_PRESENTERS
LIST_CONFERENCES
RECURRING_CONFERENCES
SEARCH_CONFERENCES
UPDATE_CONFERENCE

Public Class Methods

associated_series(conference_id, params = {}) click to toggle source

get series related to a conference. @param conference_id [String] conference identifier @param params [Hash] recognized are:

  • page: pagination page

  • per_page: pagination page size (20*)

@return [BigMarkerClient::Models::Conference

# 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 = {}) click to toggle source

helper method to retrieve all pages for the associated_series method @see associated_series

# 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 = {}) click to toggle source

Get all registered attendees of a conference. Recognized @params are: @param conference_id [String] conference identifier @param params [Hash] recognized are:

  • page: pagination page

  • per_page: pagination page size (20*)

@return [BigMarkerClient::Models::Attendee

# 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 = {}) click to toggle source

helper method to retrieve all pages for the attendees method @see attendees

# 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 = {}) click to toggle source

create a conference either with a Models::Conference object or single properties as hash @param body [Hash or BigMarkerClient::Models::Conference] @return [BigMarkerClient::Models::Conference]

# 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["conference"]) if result["conference"]

  result
end
destroy(conference_id) click to toggle source

delete a conference @param conference_id [String] conference identifier

# 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 = {}) click to toggle source

enter a conference towards an enterprise iframe, @param conference_id [String] conference identifier @param name [String] attendee name @param email [String] attendee email @param body [Hash] recognized are:

  • 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

@return [Hash] enter_token: auth token for conference, enter_uri: URL to enter conference

# 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 = {}) click to toggle source

lists all conferences, where date range con only be influenced indirectly. @param params [Hash] recognized are:

  • 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!

@return [BigMarkerClient::Models::Conference

# 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 = {}) click to toggle source

helper method to retrieve all pages for the list method @see list

# 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) click to toggle source

Get all presenters of a conference. @param conference_id [String] conference identifier @return [BigMarkerClient::Models::Presenter

# 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 = {}) click to toggle source

get child conferences of a parent recurring conference. @param conference_id [String] conference identifier @param params [Hash] recognized are:

  • 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*)

@return [BigMarkerClient::Models::Conference

# 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 = {}) click to toggle source

helper method to retrieve all pages for the recurring method @see recurring

# 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_all(params = {}) click to toggle source

helper method to retrieve all pages for the search method @see search

# 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) click to toggle source

get one conference based on it’s ID @param conference_id [String] conference identifier @return [BigMarkerClient::Models::Conference]

# 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 = {}) click to toggle source

update a conference either with a Models::Conference object or single properties as hash @param conference_id [String] conference identifier @param body [Hash or BigMarkerClient::Models::Conference] @return [BigMarkerClient::Models::Conference]

# 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["conference"]) if result["conference"]

  result
end

Private Class Methods

map_to_model_array(hash_array, model_class = ::BigMarkerClient::Models::Conference) click to toggle source
# File lib/big_marker_client/api/v1/conference.rb, line 220
def map_to_model_array(hash_array, model_class = ::BigMarkerClient::Models::Conference)
  hash_array.map { |hash| model_class.new(hash) }
end