Class: Workarea::CreateReviewRequests

Inherits:
Object
  • Object
show all
Includes:
Sidekiq::CallbacksWorker, Sidekiq::Worker
Defined in:
app/workers/workarea/create_review_requests.rb

Instance Method Summary collapse

Instance Method Details

#perform(order_id) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'app/workers/workarea/create_review_requests.rb', line 14

def perform(order_id)
  order = Order.find(order_id)
  product_ids = order.items
                     .sort_by(&:original_unit_price)
                     .reverse
                     .map(&:product_id)
                     .uniq
                     .take(Workarea.config.review_requests_per_order)

  product_ids.each do |product_id|
    Review::Request.create(
      email: order.email,
      order_id: order.id,
      user_id: order.user_id,
      product_id: product_id
    )
  end
end