class Hps::HpsCreditCard

Attributes

card_present[RW]
cvv[RW]
exp_month[RW]
exp_year[RW]
number[RW]
reader_present[RW]

Public Class Methods

new() click to toggle source
# File lib/hps/entities/hps_credit_card.rb, line 7
def initialize

  @regex_map = {
    :Amex => /^3[47][0-9]{13}$/,
    :MasterCard => /^5[1-5][0-9]{14}$/,
    :Visa => /^4[0-9]{12}(?:[0-9]{3})?$/,
    :DinersClub => /^3(?:0[0-5]|[68][0-9])[0-9]{11}$/,
    :EnRoute => /^(2014|2149)/,
    :Discover => /^6(?:011|5[0-9]{2})[0-9]{12}$/,
    :Jcb => /^(?:2131|1800|35\\d{3})\\d{11}$/
  }

end

Public Instance Methods

card_type() click to toggle source
# File lib/hps/entities/hps_credit_card.rb, line 21
def card_type

  @regex_map.each { |key, value|
    unless value.match(number.to_s).nil?
      return key
    end
  }

  "Unknown"

end