module Zoom::Actions::Webinar

Constants

RECURRENCE_KEYS
SETTINGS_KEYS

Public Instance Methods

past_webinar_list(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 102
def past_webinar_list(*args)
  params = Zoom::Params.new(Utils.extract_options!(args))
  params.require(:id)
  Utils.parse_response self.class.get("/past_webinars/#{params[:id]}/instances", headers: request_headers)
end
webinar_create(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 18
def webinar_create(*args)
  params = Zoom::Params.new(Utils.extract_options!(args))
  params.require(:host_id).permit(:topic, :type, :start_time, :duration,
                                  :timezone, :password, :agenda,
                                  recurrence: RECURRENCE_KEYS,
                                  settings: SETTINGS_KEYS)
  # process recurrence keys based on constants
  # process settings keys based on constants
  Utils.parse_response self.class.post("/users/#{params[:host_id]}/webinars", body: params.except(:host_id).to_json, headers: request_headers)
end
webinar_delete(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 44
def webinar_delete(*args)
  params = Zoom::Params.new(Utils.extract_options!(args))
  params.require(:id).permit(:occurrence_id)
  Utils.parse_response self.class.delete("/webinars/#{params[:id]}", query: params.except(:id), headers: request_headers)
end
webinar_get(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 29
def webinar_get(*args)
  params = Zoom::Params.new(Utils.extract_options!(args))
  params.require(:id)
  Utils.parse_response self.class.get("/webinars/#{params[:id]}", headers: request_headers)
end
webinar_list(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 12
def webinar_list(*args)
  params = Zoom::Params.new(Utils.extract_options!(args))
  params.require(:host_id).permit(:page_size, :page_number)
  Utils.parse_response self.class.get("/users/#{params[:host_id]}/webinars", query: params, headers: request_headers)
end
webinar_panelist_add(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 62
def webinar_panelist_add(*args)
  # TODO: implement webinar_panelist_add
  # options = Utils.extract_options!(args)
  raise Zoom::NotImplemented, 'webinar_panelist_add is not yet implemented'
end
webinar_panelist_delete(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 74
def webinar_panelist_delete(*args)
  # TODO: implement webinar_panelist_delete
  # options = Utils.extract_options!(args)
  raise Zoom::NotImplemented, 'webinar_panelist_delete is not yet implemented'
end
webinar_panelists_delete_all(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 68
def webinar_panelists_delete_all(*args)
  # TODO: implement webinar_panelists_delete_all
  # options = Utils.extract_options!(args)
  raise Zoom::NotImplemented, 'webinar_panelists_delete_all is not yet implemented'
end
webinar_panelists_list(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 56
def webinar_panelists_list(*args)
  # TODO: implement webinar_panelists_list
  # options = Utils.extract_options!(args)
  raise Zoom::NotImplemented, 'webinar_panelists_list is not yet implemented'
end
webinar_registrant_add(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 86
def webinar_registrant_add(*args)
  params = Zoom::Params.new(Utils.extract_options!(args))
  params.require(:id, :email, :first_name, :last_name)
        .permit(%i[occurrence_ids address city country zip state phone
                   industry org job_title purchasing_time_frame role_in_purchase_process
                   no_of_employees comments custom_questions])
  Utils.parse_response self.class.post("/webinars/#{params[:id]}/registrants", body: params.except(:id, :occurrence_ids).to_json, query: params.slice(:occurrence_ids), headers: request_headers)
end
webinar_registrant_get(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 108
def webinar_registrant_get(*args)
  params = Zoom::Params.new(Utils.extract_options!(args))
  params.require(:webinar_id, :id).permit(:occurrence_id)
  Utils.parse_response self.class.get("/webinars/#{params[:webinar_id]}/registrants/#{params[:id]}", query: params.except(:webinar_id, :id), headers: request_headers)
end
webinar_registrants_list(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 80
def webinar_registrants_list(*args)
  params = Zoom::Params.new(Utils.extract_options!(args))
  params.require(:id).permit(%i[occurrence_id status page_size page_number])
  Utils.parse_response self.class.get("/webinars/#{params[:id]}/registrants", query: params.except(:id), headers: request_headers)
end
webinar_registrants_status_update(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 95
def webinar_registrants_status_update(*args)
  params = Zoom::Params.new(Utils.extract_options!(args))
  params.require(:id, :action)
        .permit(:occurrence_id, registrants: [])
  Utils.parse_response self.class.put("/webinars/#{params[:id]}/registrants/status", body: params.except(:id, :occurrence_ids).to_json, query: params.slice(:occurrence_ids), headers: request_headers)
end
webinar_status_update(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 50
def webinar_status_update(*args)
  # TODO: implement webinar_panelists_list
  # options = Utils.extract_options!(args)
  raise Zoom::NotImplemented, 'webinar_status_update is not yet implemented'
end
webinar_update(*args) click to toggle source
# File lib/zoom/actions/webinar.rb, line 35
def webinar_update(*args)
  params = Zoom::Params.new(Utils.extract_options!(args))
  params.require(:id).permit(:topic, :type, :start_time, :duration,
                             :timezone, :password, :agenda,
                             recurrence: RECURRENCE_KEYS,
                             settings: SETTINGS_KEYS)
  Utils.parse_response self.class.patch("/webinars/#{params[:id]}", body: params.except(:id).to_json, headers: request_headers)
end