Sha256: 8107c882bea338167f892ee77e4b92ba5d8dee65170dcedfa833883f237c5e69

Contents?: true

Size: 1.06 KB

Versions: 62

Compression:

Stored size: 1.06 KB

Contents

module Workarea
  class Payment
    class Tender
      class CreditCard < Tender
        include Payment::CreditCard

        field :saved_card_id, type: String

        delegate :profile, :first_name, :last_name, to: :payment, allow_nil: true

        before_validation :set_saved_card_values

        def saved?
          saved_card_id.present?
        end

        def tokenized?
          super || saved?
        end

        def saved_card
          @saved_card ||= profile.credit_cards.find(saved_card_id) if saved?
        rescue
          nil
        end

        def slug
          :credit_card
        end

        def to_token_or_active_merchant
          token.presence || to_active_merchant
        end

        private

        def set_saved_card_values
          if saved_card.present?
            self.display_number = saved_card.display_number
            self.issuer = saved_card.issuer
            self.month = saved_card.month
            self.year = saved_card.year
            self.token = saved_card.token
          end
        end
      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/tender/credit_card.rb
workarea-core-3.5.26 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.45 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.25 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.23 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.44 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.22 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.43 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.21 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.42 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.20 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.41 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.19 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.40 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.18 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.39 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.17 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.38 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.16 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.37 app/models/workarea/payment/tender/credit_card.rb