class Garbanzo::CreditCard
Attributes
card_validator[R]
exp_month[RW]
exp_year[RW]
number[RW]
Public Class Methods
new(number, exp_month, exp_year, card_validator = ::CreditCardValidator::Validator)
click to toggle source
# File lib/garbanzo/credit_card.rb, line 7 def initialize(number, exp_month, exp_year, card_validator = ::CreditCardValidator::Validator) @number = number.gsub(/[^\d]/, '') @exp_month = exp_month.to_i @exp_year = exp_year.to_i @card_validator = card_validator end
Public Instance Methods
expiration_date()
click to toggle source
# File lib/garbanzo/credit_card.rb, line 28 def expiration_date format('%04d-%02d', exp_year, exp_month) end
to_h()
click to toggle source
# File lib/garbanzo/credit_card.rb, line 21 def to_h { card_number: number, expiration_date: expiration_date } end
valid?()
click to toggle source
TODO: fix this
# File lib/garbanzo/credit_card.rb, line 15 def valid? exp_month.between?(1, 12) && exp_year >= Date.today.year && card_validator.valid?(number) end