class RatingController < ApplicationController
  permit "authenticated", :except => :show

  def show
  end

  def create
    update_rating
    respond_to do |format|
      format.html
      format.js do
        update_rating
        render :update do |page|
          page.replace_html 'average-resource-rating', :partial => 'resource/average_resource_rating'
          page.replace_html 'user-resource-rating', :partial => 'resource/user_resource_rating'
        end
      end
    end
  end

  def edit
  end

  def update
    update_rating
    respond_to do |format|
      format.html
      format.js do
        render :update do |page|
          page.replace_html 'average-resource-rating', :partial => 'resource/average_resource_rating'
          page.replace_html 'user-resource-rating', :partial => 'resource/user_resource_rating'
        end
      end
    end
  end

  def destroy
  end
  
  private
  
  def update_rating
    @rating = Rating.find_or_create_by_rateable_id_and_user_id( params[:rateable_id], current_user.id )
    @rating.score = params[:rating]
    @rating.user = current_user
    @resource = Resource.find( params[:rateable_id] )
    @rating.rateable = @resource
    @rating.save
  end
end
