object @user attributes :id, :first_name, :last_name, :name, :city, :state, :country, :location, :online, :photo_url, :musician, :gender, :birth_date, :internet_service_provider, :friend_count, :liker_count, :like_count, :band_like_count, :follower_count, :following_count, :band_following_count, :recording_count, :session_count, :biography, :favorite_count if @user.musician? node :location do @user.location end else node :location do @user.online ? 'Online' : 'Offline' end end # give back more info if the user being fetched is yourself if @user == current_user attributes :email, :original_fpfile, :cropped_fpfile, :crop_selection, :session_settings, :show_whats_next, :subscribe_email, :auth_twitter elsif current_user node :is_friend do |uu| current_user.friends?(@user) end node :is_following do |uu| current_user.following?(@user) end end unless @user.friends.nil? || @user.friends.size == 0 child :friends => :friends do attributes :id, :first_name, :last_name, :online end end unless @user.bands.nil? || @user.bands.size == 0 child :band_musicians => :bands do attributes :id, :name, :admin, :photo_url, :logo_url child :genres => :genres do attributes :id, :description #partial('api_genres/index', :object => @user.bands.genres) end end end unless @user.instruments.nil? || @user.instruments.size == 0 child :musician_instruments => :instruments do attributes :description, :proficiency_level, :priority, :instrument_id end end