Sha256: 0fd047c85498b6670994f5a0c8da6f48420d12da6ec1ade92fb5f97e72f17de3

Contents?: true

Size: 499 Bytes

Versions: 3

Compression:

Stored size: 499 Bytes

Contents

module ShoppingCart
  class CheckoutPayment
    def initialize(params)
      @params = params
    end

    def call
      credit_card = CreditCard.find_by(order_id: credit_card_params[:order_id]) || CreditCard.new
      credit_card.attributes = credit_card_params
      credit_card.number = credit_card_params[:number][-4, 4]
      credit_card
    end

    private

    def credit_card_params
      @params.require(:credit_card).permit(:number, :name, :expiration_date, :order_id)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
loker-shopping-cart-0.1.3 app/services/shopping_cart/checkout_payment.rb
loker-shopping-cart-0.1.2 app/services/shopping_cart/checkout_payment.rb
loker-shopping-cart-0.1.1 app/services/shopping_cart/checkout_payment.rb