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
- #find_by_reference(reference) ⇒ 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
138 139 140 141 |
# File 'app/models/stall/models/product_list.rb', line 138 def aborted( = {}) where.not(state: wizard.steps.last) .older_than(.fetch(:before, 1.day.ago)) end |
#finalized ⇒ Object
143 144 145 |
# File 'app/models/stall/models/product_list.rb', line 143 def finalized where(state: wizard.steps.last) end |
#find_by_reference(reference) ⇒ Object
129 130 131 |
# File 'app/models/stall/models/product_list.rb', line 129 def find_by_reference(reference) where("data->>'reference' = ?", reference).first end |
#wizard ⇒ Object
147 148 149 150 151 152 153 154 155 156 157 |
# File 'app/models/stall/models/product_list.rb', line 147 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 |