Sha256: 47cdf5029e48ebb5095164ad208b2b2196f7ed400c3b90edc600a9d1c1690795
Contents?: true
Size: 734 Bytes
Versions: 2
Compression:
Stored size: 734 Bytes
Contents
module Faker module CreditCard module Generator def generate_number(prefix, max_length) ccnum = prefix.to_s while ccnum.size < (max_length - 1) ccnum += Random.rand(10).to_s end sum = 0 reversed_ccnum = ccnum.reverse reversed_ccnum.size.times.each do |index| if index.odd? sum += reversed_ccnum[index].to_i else double = reversed_ccnum[index].to_i * 2 double.fdiv(10).to_s.split(".").each do |n| sum += n.to_i end end end mod = sum % 10 check_digit = mod.zero? ? mod : (10 - mod) ccnum += check_digit.to_s end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
faker_credit_card-0.0.2 | lib/faker_credit_card/generator.rb |
faker_credit_card-0.0.1 | lib/faker_credit_card/generator.rb |