app/models/bigbluebutton_server.rb in bigbluebutton_rails-0.0.3 vs app/models/bigbluebutton_server.rb in bigbluebutton_rails-0.0.4

- old
+ new

@@ -12,23 +12,25 @@ validates :salt, :presence => true, :length => { :minimum => 1, :maximum => 500 } validates :version, :presence => true, :inclusion => { :in => ['0.64', '0.7'] } + # Array of <tt>BigbluebuttonMeeting</tt> + attr_reader :meetings + + after_initialize :init + # Returns the API object (<tt>BigBlueButton::BigBlueButtonAPI</tt> defined in # <tt>bigbluebutton-api-ruby</tt>) associated with this server. def api if @api.nil? @api = BigBlueButton::BigBlueButtonApi.new(self.url, self.salt, self.version.to_s, false) end @api end - # Array of <tt>BigbluebuttonMeeting</tt> - attr_reader :meetings - # Fetches the meetings currently created in the server (running or not). # # Using the response, updates <tt>meetings</tt> with a list of <tt>BigbluebuttonMeeting</tt> # objects. # @@ -39,20 +41,26 @@ # updates the information in the rooms that are currently in BBB @meetings = [] response[:meetings].each do |attr| room = BigbluebuttonRoom.find_by_server_id_and_meetingid(self.id, attr[:meetingID]) if room.nil? - room = BigbluebuttonRoom.new(:server => self, :meetingid => attr[:meetingID], - :attendee_password => attr[:attendeePW], - :moderator_password => attr[:moderatorPW]) + room = BigbluebuttonRoom.new(:server => self, :meetingid => attr[:meetingID], :name => attr[:meetingID], + :attendee_password => attr[:attendeePW], :moderator_password => attr[:moderatorPW]) room.running = attr[:running] else room.update_attributes(:attendee_password => attr[:attendeePW], :moderator_password => attr[:moderatorPW]) room.running = attr[:running] end @meetings << room end + end + + protected + + def init + # fetched attributes + @meetings = [] end end