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.15 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.36 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.14 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.35 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.13 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.34 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.12 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.33 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.11 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.10 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.32 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.9 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.31 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.8 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.30 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.7 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.29 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.6 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.4.28 app/models/workarea/payment/tender/credit_card.rb
workarea-core-3.5.5 app/models/workarea/payment/tender/credit_card.rb