Sha256: 2fb9576d6fb4ed7608e034cc3d015652d42505f08493c3770512a83136e29a03

Contents?: true

Size: 447 Bytes

Versions: 3

Compression:

Stored size: 447 Bytes

Contents

# Add access to reviews/ratings to the product model
Spree::Product.class_eval do
  has_many :reviews

  def stars
    avg_rating.try(:round) || 0
  end

  def recalculate_rating
    reviews_count = self.reviews.reload.approved.count

    self.reviews_count = reviews_count
    if reviews_count > 0
      self.avg_rating = self.reviews.approved.sum(:rating).to_f / reviews_count
    else
      self.avg_rating = 0
    end
    self.save
  end

end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
solidus_reviews-1.0.0 app/models/spree/product_decorator.rb
jiffyshirts_spree_reviews-2.3.1.2 app/models/spree/product_decorator.rb
jiffyshirts_spree_reviews-2.3.1.1 app/models/spree/product_decorator.rb