class Faker::DNI

Public Class Methods

dni() click to toggle source
# File lib/dni_faker.rb, line 6
def dni()
  number = Faker::Number.number(8).to_i
  "#{number}#{nif_letter(number)}"
end
nie() click to toggle source
# File lib/dni_faker.rb, line 11
def nie()
  available_letters = [:X, :Y]
  first_letter = available_letters.sample
  first_letter_value = available_letters.index(first_letter)
  number_part = Faker::Number.number(7)
  number_for_calculation = "#{first_letter_value}#{number_part}".to_i
  "#{first_letter}#{number_part}#{nif_letter(number_for_calculation)}"
end

Private Class Methods

nif_letter(number) click to toggle source
# File lib/dni_faker.rb, line 21
def nif_letter(number)
  nif_seq = 'TRWAGMYFPDXBNJZSQVHLCKE'
  nif_seq[number % nif_seq.length]
end