lib/turntabler/room.rb
def load(options = {})
      assert_valid_keys(options, :song_log)
      options = {:song_log => false}.merge(options)

      # Use a client that is connected on the same url this room is hosted on
      client = @client.url == url ? @client : Turntabler::Client.new(@client.user.id, @client.user.auth, :url => url, :timeout => @client.timeout)

      begin
        data = api('room.info', :extended => options[:song_log])
        self.attributes = data['room'].merge('users' => data['users'])
        super()
      ensure
        # Close the client if it was only opened for use in this API call
        client.close if client != @client
      end
    end
def load(options = {})
      assert_valid_keys(options, :song_log)
      options = {:song_log => false}.merge(options)

      # Use a client that is connected on the same url this room is hosted on
      client = @client.url == url ? @client : Turntabler::Client.new(@client.user.id, @client.user.auth, :url => url, :timeout => @client.timeout)

      begin
        data = api('room.info', :extended => options[:song_log])
        self.attributes = data['room'].merge('users' => data['users'])
        super()
      ensure
        # Close the client if it was only opened for use in this API call
        client.close if client != @client
      end
    end
def load ( options = { } ) assert_valid_keys ( options , :song_log ) options = { :song_log => false } . merge ( options ) # Use a client that is connected on the same url this room is hosted on client = @client . url == url ? @client : Turntabler :: Client . new ( @client . user . id , @client . user . auth , :url => url , :timeout => @client . timeout ) begin data = api ( 'room.info' , :extended => options [ :song_log ] ) self . attributes = data [ 'room' ] . merge ( 'users' => data [ 'users' ] ) super ( ) ensure # Close the client if it was only opened for use in this API call client . close if client != @client end end
Loads the attributes for this room.  Attributes will automatically load
 when accessed, but this allows data to be forcefully loaded upfront.

 @note This will open a connection to the chat server the room is hosted on if the client is not already connected to it
 @param [Hash] options The configuration options
 @option options [Boolean] :song_log (false) Whether to include the song log
 @return [true]
 @raise [ArgumentError] if an invalid option is specified
 @raise [Turntabler::Error] if the command fails
 @example
   room.load                       # => true
   room.load(:song_log => true)    # => true
Loads the attributes for this room . Attributes will automatically load when accessed but this allows data to be forcefully loaded upfront .