Class: GoToWebinar::Webinar

Inherits:
Object
  • Object
show all
Defined in:
lib/go_to_webinar/webinar.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Webinar

Returns a new instance of Webinar.



3
4
5
# File 'lib/go_to_webinar/webinar.rb', line 3

def initialize(data)
  @data = data
end

Class Method Details

.find(webinar_key:) ⇒ Object



18
19
20
21
# File 'lib/go_to_webinar/webinar.rb', line 18

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) ⇒ Object

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.



26
27
28
29
30
31
32
33
# File 'lib/go_to_webinar/webinar.rb', line 26

def self.(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/#{}/webinars", options)
  # TODO: montar retorno
end

.for_organizerObject

Returns webinars scheduled for the future for a specified organizer.



44
45
46
# File 'lib/go_to_webinar/webinar.rb', line 44

def self.for_organizer
  make(GoToWebinar.client.get("/organizers/:organizer_key:/webinars"))
end

.historical(from: nil, to: nil) ⇒ Object

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



38
39
40
41
# File 'lib/go_to_webinar/webinar.rb', line 38

def self.historical(from: nil, to: nil)
  options = { fromTime: from, toTime: to }
  make(GoToWebinar.client.get("/organizers/:organizer_key:/historicalWebinars", options))
end

.make(data) ⇒ Object



55
56
57
# File 'lib/go_to_webinar/webinar.rb', line 55

def self.make(data)
  data.map { |webinar| Webinar.new(webinar) }
end

.upcomingObject

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



51
52
53
# File 'lib/go_to_webinar/webinar.rb', line 51

def self.upcoming
  make(GoToWebinar.client.get("/organizers/:organizer_key:/upcomingWebinars"))
end

Instance Method Details

#add_registrant(first_name:, last_name:, email:) ⇒ Object



11
12
13
14
15
16
# File 'lib/go_to_webinar/webinar.rb', line 11

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

#webinar_keyObject



7
8
9
# File 'lib/go_to_webinar/webinar.rb', line 7

def webinar_key
  @data['webinarKey'].to_s
end