Module: Workarea::Payment::CreditCard
- Extended by:
- ActiveSupport::Concern
- Included in:
- SavedCreditCard, Tender::CreditCard
- Defined in:
- app/models/workarea/payment/credit_card.rb
Instance Method Summary collapse
- #card_change? ⇒ Boolean
- #expired? ⇒ Boolean
- #number=(val) ⇒ Object
- #number_changed? ⇒ Boolean
- #to_active_merchant ⇒ Object
- #tokenized? ⇒ Boolean
Instance Method Details
#card_change? ⇒ Boolean
49 50 51 |
# File 'app/models/workarea/payment/credit_card.rb', line 49 def card_change? persisted? && (number_changed? || month_changed? || year_changed?) end |
#expired? ⇒ Boolean
41 42 43 |
# File 'app/models/workarea/payment/credit_card.rb', line 41 def expired? Time.current > Time.zone.parse("#{month}/#{year}").next_month.beginning_of_month end |
#number=(val) ⇒ Object
37 38 39 |
# File 'app/models/workarea/payment/credit_card.rb', line 37 def number=(val) @number = val.to_s.gsub(/\D/, '') end |
#number_changed? ⇒ Boolean
45 46 47 |
# File 'app/models/workarea/payment/credit_card.rb', line 45 def number_changed? number.present? && number.to_s.last(4) != display_number.to_s.last(4) end |
#to_active_merchant ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'app/models/workarea/payment/credit_card.rb', line 57 def to_active_merchant ActiveMerchant::Billing::CreditCard.new( # TODO token doesn't make sense here because ActiveMerchant::CreditCard # strips anything that's not a number and most tokens are alpha numberic number: token.presence || number.presence || display_number, month: month, year: year, verification_value: cvv, first_name: first_name, last_name: last_name ) end |
#tokenized? ⇒ Boolean
53 54 55 |
# File 'app/models/workarea/payment/credit_card.rb', line 53 def tokenized? token.present? end |