Class: WebexApi::Meeting

Inherits:
Object
  • Object
show all
Defined in:
lib/webex_api/meeting.rb

Constant Summary collapse

MEETING_ATTRIBUTES =
[:conf_name,:start_date,:host_joined,:status]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(meeting_key, client) ⇒ Meeting

Returns a new instance of Meeting.



6
7
8
9
10
# File 'lib/webex_api/meeting.rb', line 6

def initialize(meeting_key,client)
  @meeting_key= meeting_key
  @email =  email
  @client = client
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(meth, *args, &block) ⇒ Object



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/webex_api/meeting.rb', line 72

def method_missing(meth, *args, &block)
  if MEETING_ATTRIBUTES.include?(meth)
    if @meeting_attr[meth]
      @meeting_attr[meth]
    else
      if @xml.at_xpath("//*[contains(translate(name(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), '#{meth.to_s.camelcase(:lower).downcase}')]")
        @meeting_attr[meth]  = @xml.at_xpath("//*[contains(translate(name(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), '#{meth.to_s.camelcase(:lower).downcase}')]").text
      else
        @meeting_attr[meth]  = nil
      end
      
    end  

    @meeting_attr[meth] ||= @xml.at_xpath("//*[contains(translate(name(),'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'), '#{meth.to_s.camelcase(:lower).downcase}')]")
  end
end

Instance Attribute Details

#xmlObject (readonly)

Returns the value of attribute xml.



3
4
5
# File 'lib/webex_api/meeting.rb', line 3

def xml
  @xml
end

Class Method Details

.create_meeting(client, name, options = {}) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/webex_api/meeting.rb', line 12

def self.create_meeting(client,name,options={})
  meeting_key = nil
  meeting_request = WebexApi::MeetingRequest.new(client)
  meeting_request.create_meeting(name,options)
  if meeting_request.xml_response.at_xpath('//meetingkey')
    meeting_key = meeting_request.xml_response.at_xpath('//meetingkey').text
  end
  meeting_key  
end

Instance Method Details

#add_attendee(user_email, user_info = {}) ⇒ Object



55
56
57
58
59
# File 'lib/webex_api/meeting.rb', line 55

def add_attendee(user_email,={})
  meeting_request = WebexApi::MeetingRequest.new(@client)
  meeting_request.add_attendee(@meeting_key,user_email,)
  meeting_request.success
end

#delete_attendee(user_email) ⇒ Object



61
62
63
64
65
66
# File 'lib/webex_api/meeting.rb', line 61

def delete_attendee(user_email)
  meeting_request = WebexApi::MeetingRequest.new(@client)
  meeting_request.delete_attendee(@meeting_key,user_email)

  meeting_request.success
end

#delete_meetingObject



28
29
30
31
32
# File 'lib/webex_api/meeting.rb', line 28

def delete_meeting
  meeting_request = WebexApi::MeetingRequest.new(@client)
  meeting_request.delete_meeting(@meeting_key)
  meeting_request.success
end

#get_host_url(email = nil) ⇒ Object



35
36
37
38
39
40
41
42
43
# File 'lib/webex_api/meeting.rb', line 35

def get_host_url(email=nil)
  meeting_request = WebexApi::MeetingRequest.new(@client)
  meeting_request.get_host_meeting_url(@meeting_key)
  if meeting_request.xml_response.at_xpath('hostMeetingURL')
    meeting_request.xml_response.at_xpath('hostMeetingURL').text
  else
    nil
  end
end

#get_join_url(email = nil) ⇒ Object



45
46
47
48
49
50
51
52
53
# File 'lib/webex_api/meeting.rb', line 45

def get_join_url(email=nil)
  meeting_request = WebexApi::MeetingRequest.new(@client)
  meeting_request.get_join_meeting_url(@meeting_key)
  if meeting_request.xml_response.at_xpath('joinMeetingURL')
    meeting_request.xml_response.at_xpath('joinMeetingURL').text
  else
    nil
  end
end

#get_meetingObject



22
23
24
25
26
# File 'lib/webex_api/meeting.rb', line 22

def get_meeting
  meeting_info = WebexApi::MeetingRequest.new(@client)
  meeting_info.get_meeting(@meeting_key)
  @xml = meeting_info.xml_response
end

#list_attendeesObject



67
68
69
70
71
# File 'lib/webex_api/meeting.rb', line 67

def list_attendees
  meeting_request = WebexApi::MeetingRequest.new(@client)
  meeting_request.list_attendees(@meeting_key)
  @xml = meeting_request.xml_response
end