return false if nip != 10 weights = [6, 5, 7, 2, 3, 4, 5, 6, 7] nip = nip(//) {|d| d } checksum = 0 weights {|w, i| checksum += w * nip[i] } return checksum % 11 % 10 == nip end
return false if nip != 10 weights = [6, 5, 7, 2, 3, 4, 5, 6, 7] nip = nip(//) {|d| d } checksum = 0 weights {|w, i| checksum += w * nip[i] } return checksum % 11 % 10 == nip end