Module: EffectiveProductsRingWizard
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/effective_products_ring_wizard.rb
Overview
EffectiveProductsRingWizard
Mark your owner model with effective_products_ring_wizard to get all the includes
Defined Under Namespace
Modules: Base, ClassMethods
Instance Method Summary collapse
- #assign_pricing ⇒ Object
- #build_ring ⇒ Object
- #done? ⇒ Boolean
- #in_progress? ⇒ Boolean
- #ring ⇒ Object
-
#ring! ⇒ Object
After the configure Ring step.
-
#to_s ⇒ Object
Instance Methods.
Instance Method Details
#assign_pricing ⇒ Object
122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'app/models/concerns/effective_products_ring_wizard.rb', line 122 def assign_pricing price = case ring. when '14k Yellow Gold' then 450_00 when 'Sterling Silver' then 175_00 when 'Titanium' then 50_00 else raise "unexpected ring metal: #{ring. || 'none'}" end qb_item_name = "Chemist's Ring" tax_exempt = false ring.assign_attributes(price: price, qb_item_name: qb_item_name, tax_exempt: tax_exempt) end |
#build_ring ⇒ Object
111 112 113 114 115 116 117 118 119 120 |
# File 'app/models/concerns/effective_products_ring_wizard.rb', line 111 def build_ring ring = rings.build(owner: owner) address = owner.try(:shipping_address) || owner.try(:billing_address) if address.present? ring.shipping_address = address end ring end |
#done? ⇒ Boolean
103 104 105 |
# File 'app/models/concerns/effective_products_ring_wizard.rb', line 103 def done? submitted? end |
#in_progress? ⇒ Boolean
99 100 101 |
# File 'app/models/concerns/effective_products_ring_wizard.rb', line 99 def in_progress? draft? end |
#ring ⇒ Object
107 108 109 |
# File 'app/models/concerns/effective_products_ring_wizard.rb', line 107 def ring rings.first end |
#ring! ⇒ Object
After the configure Ring step
138 139 140 141 |
# File 'app/models/concerns/effective_products_ring_wizard.rb', line 138 def ring! assign_pricing() if ring.present? save! end |
#to_s ⇒ Object
Instance Methods
95 96 97 |
# File 'app/models/concerns/effective_products_ring_wizard.rb', line 95 def to_s 'ring payment' end |