code: def update(attributes = {})
        assert_valid_keys(attributes, :name, :status, :laptop_name, :twitter_id, :facebook_url, :website, :about, :top_artists, :hangout)
  
        # Update status
        status = attributes.delete(:status)
        update_status(status) if status
  
        # Update laptop
        laptop_name = attributes.delete(:laptop_name)
        update_laptop(laptop_name) if laptop_name
  
        # Update profile with remaining data
        update_profile(attributes) if attributes.any?
  
        true
      end
docs: Updates this user's profile information.
  
   @param [Hash] attributes The attributes to update
   @option attributes [String] :name
   @option attributes [String] :status Valid values include "available", "unavailable", and "away"
   @option attributes [String] :laptop_name Valid values include "mac", "pc", "linux", "chrome", "iphone", "cake", "intel", and "android"
   @option attributes [String] :twitter_id
   @option attributes [String] :facebook_url
   @option attributes [String] :website
   @option attributes [String] :about
   @option attributes [String] :top_artists
   @option attributes [String] :hangout
   @return [true]
   @raise [ArgumentError] if an invalid attribute or value is specified
   @raise [Turntabler::Error] if the command fails
   @example
     user.update(:status => "away")        # => true
     user.update(:laptop_name => "mac")    # => true
     user.update(:name => "...")           # => true