Module: SpreeProductReviews::Spree::UserDecorator

Defined in:
app/models/spree_product_reviews/spree/user_decorator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.prepended(base) ⇒ Object



4
5
6
# File 'app/models/spree_product_reviews/spree/user_decorator.rb', line 4

def self.prepended(base)
  base.has_many :product_reviews, class_name: "Spree::ProductReview", dependent: :destroy, foreign_key: :user_id
end

Instance Method Details

#product_review_for(product) ⇒ Object



8
9
10
# File 'app/models/spree_product_reviews/spree/user_decorator.rb', line 8

def product_review_for(product)
  product_reviews.find_by(product_id: product.id, user_id: id)
end

#recent_purchase_date_for(product) ⇒ Object



12
13
14
15
16
# File 'app/models/spree_product_reviews/spree/user_decorator.rb', line 12

def recent_purchase_date_for(product)
  orders.joins(:line_items, :variants).where(
    spree_variants: { product_id: product.id }
  ).order("spree_orders.completed_at DESC").first&.completed_at
end