Module: EffectiveProductsStampWizard
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/effective_products_stamp_wizard.rb
Overview
EffectiveProductsStampWizard
Mark your owner model with effective_products_stamp_wizard to get all the includes
Defined Under Namespace
Modules: Base, ClassMethods
Instance Method Summary
collapse
Instance Method Details
#assign_pricing ⇒ Object
117
118
119
120
121
122
123
124
125
|
# File 'app/models/concerns/effective_products_stamp_wizard.rb', line 117
def assign_pricing
raise('assign_pricing() to be implemented by including class')
end
|
#build_stamp ⇒ Object
107
108
109
110
111
112
113
114
115
|
# File 'app/models/concerns/effective_products_stamp_wizard.rb', line 107
def build_stamp
stamp = stamps.build(owner: owner)
if (address = owner.try(:shipping_address) || owner.try(:billing_address)).present?
stamp.shipping_address = address
end
stamp
end
|
#done? ⇒ Boolean
99
100
101
|
# File 'app/models/concerns/effective_products_stamp_wizard.rb', line 99
def done?
submitted?
end
|
#in_progress? ⇒ Boolean
95
96
97
|
# File 'app/models/concerns/effective_products_stamp_wizard.rb', line 95
def in_progress?
draft?
end
|
#stamp ⇒ Object
103
104
105
|
# File 'app/models/concerns/effective_products_stamp_wizard.rb', line 103
def stamp
stamps.first
end
|
#stamp! ⇒ Object
After the configure Stamp step
128
129
130
131
132
|
# File 'app/models/concerns/effective_products_stamp_wizard.rb', line 128
def stamp!
assign_pricing() if stamp.present?
raise('expected stamp to have a price') if stamp.price.blank?
save!
end
|
#stamp_categories ⇒ Object
#to_s ⇒ Object
91
92
93
|
# File 'app/models/concerns/effective_products_stamp_wizard.rb', line 91
def to_s
(persisted? || destroyed?) ? "#{model_name.human} ##{id_was}" : model_name.human
end
|