Class: Kms::CartFinalizer

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Validations
Defined in:
app/services/kms/cart_finalizer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cart, customer_params) ⇒ CartFinalizer

Returns a new instance of CartFinalizer.



6
7
8
9
# File 'app/services/kms/cart_finalizer.rb', line 6

def initialize(cart, customer_params)
  @cart = cart
  @customer =  Kms::Customer.new(customer_params)
end

Instance Attribute Details

#customerObject

Returns the value of attribute customer.



4
5
6
# File 'app/services/kms/cart_finalizer.rb', line 4

def customer
  @customer
end

Instance Method Details

#finalizeObject



11
12
13
14
15
# File 'app/services/kms/cart_finalizer.rb', line 11

def finalize
  return unless @customer.valid?
  order = @cart.create_order(customer: @customer)
  order.errors.blank? && order
end