class GoToWebinar::Webinar

Public Class Methods

find(webinar_key:) click to toggle source
# File lib/go_to_webinar/webinar.rb, line 28
def self.find(webinar_key:)
  data = GoToWebinar.client.get("/organizers/:organizer_key:/webinars/#{webinar_key}")
  Webinar.new(data)
end
for_account(account_key:, from:, to:, page: nil, page_size: nil) click to toggle source

Retrieves the list of webinars for an account within a given date range. Page and size parameters are optional. Default page is 0 and default size is 20.

# File lib/go_to_webinar/webinar.rb, line 36
def self.for_account(account_key:, from:, to:, page: nil, page_size: nil)
  options = { fromTime: from, toTime: to }
  options[:page] = page if page.present?
  options[:size] = page_size if page_size.present?

  GoToWebinar.client.get("/accounts/#{account_key}/webinars", options)
  # TODO: montar retorno
end
for_organizer() click to toggle source

Returns webinars scheduled for the future for a specified organizer.

# File lib/go_to_webinar/webinar.rb, line 54
def self.for_organizer
  make(GoToWebinar.client.get('/organizers/:organizer_key:/webinars'))
end
historical(from: nil, to: nil) click to toggle source

Returns details for completed webinars for the specified organizer and completed webinars of other organizers where the specified organizer is a co-organizer.

# File lib/go_to_webinar/webinar.rb, line 48
def self.historical(from: nil, to: nil)
  options = { fromTime: from, toTime: to }
  make(GoToWebinar.client.get('/organizers/:organizer_key:/historicalWebinars', options))
end
make(data) click to toggle source
# File lib/go_to_webinar/webinar.rb, line 65
def self.make(data)
  data.map { |webinar| Webinar.new(webinar) }
end
new(data) click to toggle source
# File lib/go_to_webinar/webinar.rb, line 5
def initialize(data)
  @data = data
end
upcoming() click to toggle source

Returns webinars scheduled for the future for the specified organizer and webinars of other organizers where the specified organizer is a co-organizer.

# File lib/go_to_webinar/webinar.rb, line 61
def self.upcoming
  make(GoToWebinar.client.get('/organizers/:organizer_key:/upcomingWebinars'))
end

Public Instance Methods

add_registrant(first_name:, last_name:, email:) click to toggle source
# File lib/go_to_webinar/webinar.rb, line 13
def add_registrant(first_name:, last_name:, email:)
  Registrant.create(
    webinar_key: webinar_key,
    data: { firstName: first_name, lastName: last_name, email: email }.to_json
  )
end
get_session(session_key:) click to toggle source
# File lib/go_to_webinar/webinar.rb, line 24
def get_session(session_key:)
  Session.find(webinar_key: webinar_key, session_key: session_key)
end
sessions() click to toggle source
# File lib/go_to_webinar/webinar.rb, line 20
def sessions
  Session.for_webinar(webinar_key: webinar_key)
end
webinar_key() click to toggle source
# File lib/go_to_webinar/webinar.rb, line 9
def webinar_key
  @data['webinarKey'].to_s
end