Class: GoToWebinar::Webinar
- Inherits:
-
Object
- Object
- GoToWebinar::Webinar
- Defined in:
- lib/go_to_webinar/webinar.rb
Class Method Summary collapse
- .find(webinar_key:) ⇒ Object
-
.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.
-
.for_organizer ⇒ Object
Returns webinars scheduled for the future for a specified organizer.
-
.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.
- .make(data) ⇒ Object
-
.upcoming ⇒ Object
Returns webinars scheduled for the future for the specified organizer and webinars of other organizers where the specified organizer is a co-organizer.
Instance Method Summary collapse
- #add_registrant(first_name:, last_name:, email:) ⇒ Object
-
#initialize(data) ⇒ Webinar
constructor
A new instance of Webinar.
- #webinar_key ⇒ Object
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.for_account(account_key:, from:, to:, page: nil, page_size: nil) = { fromTime: from, toTime: to } [:page] = page if page.present? [:size] = page_size if page_size.present? GoToWebinar.client.get("/accounts/#{account_key}/webinars", ) # TODO: montar retorno end |
.for_organizer ⇒ Object
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) = { fromTime: from, toTime: to } make(GoToWebinar.client.get("/organizers/:organizer_key:/historicalWebinars", )) 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 |
.upcoming ⇒ Object
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_key ⇒ Object
7 8 9 |
# File 'lib/go_to_webinar/webinar.rb', line 7 def webinar_key @data['webinarKey'].to_s end |