module CommentsShared
  extend ActiveSupport::Concern

  included do
    before_filter :find_resource

    # To find Root Comments ofthe resource restrict display to 4 comments.
    def index
      @comments = @resource.root_comments.order("id DESC").offset(4).includes(:user, :attachments).reverse
      respond_to do |format|
        format.js {render 'comments/show_more'}
      end
    end

    private
    # To find resource of the comments
    def find_resource
      assoc = params[:controller].split('/',2).first
      @resource = current_user.send(assoc).find(params["#{assoc.singularize}_id".to_sym])
    end
  end
end
