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.27 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.26 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.45 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.25 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.23 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.44 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.22 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.43 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.21 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.42 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.20 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.41 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.19 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.40 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.18 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.39 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.17 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.38 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.16 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.37 app/models/workarea/payment/store_credit_card.rb