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.4.27 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.4 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.26 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.3 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.25 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.2 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.24 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.1 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.23 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.22 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.0 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.21 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.5.0.beta.1 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.20 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.19 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.18 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.17 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.16 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.15 app/models/workarea/payment/store_credit_card.rb
workarea-core-3.4.14 app/models/workarea/payment/store_credit_card.rb