class AdobeConnect::Meeting
Public: Represents a meeting in a Connect environment.
Attributes
date_begin[RW]
date_end[RW]
description[RW]
folder_id[RW]
name[RW]
url_path[RW]
Public Class Methods
config()
click to toggle source
Calls superclass method
AdobeConnect::Base::config
# File lib/adobe_connect/meeting.rb, line 49 def self.config super.merge({ :ac_obj_type => 'sco', :delete_method_is_plural => false }) end
find_by_id(sco_id, service = AdobeConnect::Service.new)
click to toggle source
# File lib/adobe_connect/meeting.rb, line 53 def self.find_by_id(sco_id, service = AdobeConnect::Service.new) response = service.sco_info(sco_id: sco_id) sco_info = response.at_xpath('//sco') if !sco_info.nil? load_from_xml(sco_info, service) else nil end end
find_by_url_path(url_path, service = AdobeConnect::Service.new)
click to toggle source
# File lib/adobe_connect/meeting.rb, line 64 def self.find_by_url_path(url_path, service = AdobeConnect::Service.new) response = service.sco_by_url(:url_path => url_path) ac_meeting = response.at_xpath('//sco') if !ac_meeting.nil? load_from_xml(ac_meeting, service) else nil end end
find_within_folder(folder_id, params = {}, service = AdobeConnect::Service.new)
click to toggle source
# File lib/adobe_connect/meeting.rb, line 76 def self.find_within_folder(folder_id, params = {}, service = AdobeConnect::Service.new) response = service.sco_contents( params.merge(:sco_id => folder_id, :type => 'meeting') ) ac_meetings = response.at_xpath('//scos') ac_meetings.children.map{|m| load_from_xml(m, service) } end
Private Class Methods
load_from_xml(ac_meeting, service)
click to toggle source
# File lib/adobe_connect/meeting.rb, line 83 def self.load_from_xml(ac_meeting, service) meeting = self.new({}, service) meeting.attrs.each do |atr,v| chld = ac_meeting.children.select{|c| c.name == atr.to_s.dasherize}[0] if !chld.nil? meeting.send(:"#{atr}=", chld.text) end end meeting.folder_id = ac_meeting.attr('folder-id') meeting.instance_variable_set(:@id, ac_meeting.attr('sco-id')) meeting end
Public Instance Methods
add_host(principal_id)
click to toggle source
# File lib/adobe_connect/meeting.rb, line 33 def add_host(principal_id) permissions_update(principal_id, 'host') end
add_participant(principal_id)
click to toggle source
# File lib/adobe_connect/meeting.rb, line 41 def add_participant(principal_id) permissions_update(principal_id, 'view') end
add_presenter(principal_id)
click to toggle source
# File lib/adobe_connect/meeting.rb, line 37 def add_presenter(principal_id) permissions_update(principal_id, 'mini-host') end
attrs()
click to toggle source
meeting_options - A hash with the following keys:
date_begin - (optional) Datetime that meeting begins. date_end - (optional) Datetime that meeting ends. description - A description of the meeting to be displayed to users. folder_id - (Required for creating) ID of the meeting folder name - Name of the meeting url_path - (optional) Custom url for meeting. One will be generated by AC if not provided
# File lib/adobe_connect/meeting.rb, line 17 def attrs atrs = {:type => 'meeting'} [ :date_end, :date_begin, :description, :name, :url_path ].each do |atr| atrs[atr] = send(atr) end if !self.id.nil? atrs.merge!(:sco_id => self.id) else atrs.merge!(:folder_id => folder_id) end atrs end
remove_user(principal_id)
click to toggle source
# File lib/adobe_connect/meeting.rb, line 45 def remove_user(principal_id) permissions_update(principal_id, 'remove') end