Sha256: 217171277698e2a892b4224da3e880f7ed9e17c7bab24c68b158e02db7ae18c7

Contents?: true

Size: 884 Bytes

Versions: 62

Compression:

Stored size: 884 Bytes

Contents

module Workarea
  class Payment
    class StoreCreditCard
      include CreditCardOperation

      def initialize(credit_card, options = {})
        @credit_card = credit_card
        @options = options
      end

      # Reaches out to the credit card gateway to store a new credit card
      #
      # @return [Boolean] the result of the gateway call
      def perform!
        return true if @credit_card.token.present?

        response = handle_active_merchant_errors do
          gateway.store(@credit_card.to_active_merchant)
        end

        @credit_card.token = response.params['billingid']

        response.success?
      end

      # Reaches out to the credit card gateway to store a new credit card
      #
      # @return [Boolean] the result of the gateway call and saving to the db
      def save!
        perform! && @credit_card.save
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-core-3.5.15 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.36 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.14 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.35 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.13 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.34 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.12 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.33 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.11 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.10 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.32 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.9 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.31 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.8 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.30 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.7 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.29 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.6 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.28 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.5 app/models/workarea/payment/store_credit_card.rb