Sha256: 8434edcc09d908b4bce711ed8c042706ca47962da3c4783f2bf84785301a389c

Contents?: true

Size: 446 Bytes

Versions: 1

Compression:

Stored size: 446 Bytes

Contents

Product.class_eval do
  has_many :reviews

  def get_stars
    {:star => ((2.0 * self.avg_rating).round / 2.0), :rcount => reviews_count}
  end

  def recalculate_rating
    reviews_count = reviews.reload.approved.where('rating IS NOT NULL').count
    avg_rating = (reviews_count > 0) ? (self.reviews.approved.sum(:rating).to_f / reviews_count) : 0
    self.update_attributes(:avg_rating => avg_rating, :reviews_count => reviews_count)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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