Module: Stall::Models::ProductList::ClassMethods
- Defined in:
- app/models/stall/models/product_list.rb
Instance Method Summary collapse
-
#aborted(options = {}) ⇒ Object
The .aborted and .finalized scopes cannot be declared as actual rails scopes since subclasses that override the .wizard method wouldn't be taken into account, scopes being executed in the context of the declaring class.
- #finalized ⇒ Object
- #wizard ⇒ Object
Instance Method Details
#aborted(options = {}) ⇒ Object
The .aborted and .finalized scopes cannot be declared as actual rails scopes since subclasses that override the .wizard method wouldn't be taken into account, scopes being executed in the context of the declaring class
106 107 108 109 |
# File 'app/models/stall/models/product_list.rb', line 106 def aborted( = {}) where.not(state: wizard.steps.last) .older_than(.fetch(:before, 1.day.ago)) end |
#finalized ⇒ Object
111 112 113 |
# File 'app/models/stall/models/product_list.rb', line 111 def finalized where(state: wizard.steps.last) end |
#wizard ⇒ Object
115 116 117 118 119 120 121 122 123 124 125 |
# File 'app/models/stall/models/product_list.rb', line 115 def wizard wizard_name = Stall.config.default_checkout_wizard if (wizard = Stall::Utils.try_load_constant(wizard_name)) wizard else raise Stall::Checkout::WizardNotFoundError.new, "The checkout wizard #{ wizard_name } was not found. You must generate it " + "with `rails g stall:wizard #{ wizard_name.underscore.gsub('_checkout_wizard', '') }`" end end |