code: 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
docs: 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