Sha256: 009644bf104f39cd5379b8559f6b300fe9331f106f9cd27a0a3c705e5e8d1096

Contents?: true

Size: 792 Bytes

Versions: 1

Compression:

Stored size: 792 Bytes

Contents

class Review < ActiveRecord::Base
  belongs_to :product
  belongs_to :user
  has_many   :feedback_reviews

  validates_presence_of :name, :review
  validates_numericality_of :rating, :if => Proc.new {|r| !r.rating.blank?}
  default_scope order("created_at DESC")
  scope :not_approved, where("approved = ?", false)

  scope :approved, lambda {|*args| {:conditions => ["(? = ?) or (approved = ?)", Spree::Config[:include_unapproved_reviews], true, true ]}}

  scope :oldest_first, :order => "created_at asc"
  scope :preview, :limit => Spree::Config[:preview_size], :order => "created_at desc"
  attr_protected :user_id, :product_id, :location

  def feedback_stars
    return 0 if feedback_reviews.count <= 0
    ((feedback_reviews.sum(:rating)/feedback_reviews.count) + 0.5).floor
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spree_reviews_rating-0.70.6.1 app/models/review.rb