Class: Kms::CartPopulator
- Inherits:
-
Object
- Object
- Kms::CartPopulator
- Includes:
- ActiveModel::Validations
- Defined in:
- app/services/kms/cart_populator.rb
Instance Attribute Summary collapse
-
#quantity ⇒ Object
Returns the value of attribute quantity.
-
#variant_id ⇒ Object
Returns the value of attribute variant_id.
Instance Method Summary collapse
-
#initialize(cart, params) ⇒ CartPopulator
constructor
A new instance of CartPopulator.
- #populate ⇒ Object
Constructor Details
#initialize(cart, params) ⇒ CartPopulator
Returns a new instance of CartPopulator.
8 9 10 11 12 |
# File 'app/services/kms/cart_populator.rb', line 8 def initialize(cart, params) @cart = cart @variant_id = params[:variant_id] @quantity = params[:quantity] end |
Instance Attribute Details
#quantity ⇒ Object
Returns the value of attribute quantity.
5 6 7 |
# File 'app/services/kms/cart_populator.rb', line 5 def quantity @quantity end |
#variant_id ⇒ Object
Returns the value of attribute variant_id.
5 6 7 |
# File 'app/services/kms/cart_populator.rb', line 5 def variant_id @variant_id end |
Instance Method Details
#populate ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'app/services/kms/cart_populator.rb', line 14 def populate return unless populating_possible? line_item = @cart.line_items.find_by(variant_id: @variant_id) unless line_item line_item = @cart.line_items.create(variant_id: @variant_id, quantity: @quantity.to_i) else line_item.update(quantity: line_item.quantity + @quantity.to_i) end end |