Class: Spree::AbandonedOrder
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Spree::AbandonedOrder
- Defined in:
- app/models/spree/abandoned_order.rb
Class Method Summary collapse
- .eligible_orders_next_attempt(emails_count = 1, hours_period = [25, 23]) ⇒ Object
- .email_eligible_abandoned_email_orders(email_number = 1) ⇒ Object
Instance Method Summary collapse
Class Method Details
.eligible_orders_next_attempt(emails_count = 1, hours_period = [25, 23]) ⇒ Object
10 11 12 13 14 15 16 |
# File 'app/models/spree/abandoned_order.rb', line 10 def self.eligible_orders_next_attempt(emails_count = 1, hours_period = [25, 23]) hours_period = [3, 1] unless ENV['RAILS_ENV'] == 'production' where(send_emails_count: emails_count, order_accomplished: false, updated_at: (Time.zone.now - hours_period[0].hours)..(Time.zone.now - hours_period[1].hours)) end |
.email_eligible_abandoned_email_orders(email_number = 1) ⇒ Object
6 7 8 |
# File 'app/models/spree/abandoned_order.rb', line 6 def self.email_eligible_abandoned_email_orders(email_number=1) eligible_orders_next_attempt(email_number).each { |abandoned_order| abandoned_order.process_abandoned_email(email_number) } end |
Instance Method Details
#process_abandoned_email(email_number = 1) ⇒ Object
18 19 20 21 22 23 |
# File 'app/models/spree/abandoned_order.rb', line 18 def process_abandoned_email(email_number=1) (delete && return) unless self.order.email.present? Spree::AbandonedCartMailer.send("abandoned_#{email_number == 1 ? 'second' : 'third'}_email", self.order).deliver_now increment_send_emails_count end |