I am using a Luhn lib from Github. Luhn class has more methods but I am intersted in only "generate" and "valid?" methods.
m = Luhn.generate(9) # generates a random number like [123456789] or [098765432]
Luhn.valid?(m) # returns true or false based on Luhn checksum passing
But I don't want the generated number starts with "0".
so how do I put in my ruby script:
- Discard the generated number that starts with
"0"
. - Generate another number and check again until
m[0]
is non-zero. - run
valid?()
on generated number: if false, generate another non-zero number until true. - return the valid 9 digits number to the caller code