Module: ZaIdValidator

Defined in:
lib/za-id-validator.rb

Instance Method Summary collapse

Instance Method Details

#a(id) ⇒ Object



11
12
13
# File 'lib/za-id-validator.rb', line 11

def a(id)
  id.chars.to_a.values_at(0,2,4,6,8,10).inject(0) { |sum, v| sum += v.to_i }
end

#b(id) ⇒ Object



15
16
17
# File 'lib/za-id-validator.rb', line 15

def b(id)
  id.chars.to_a.values_at(1,3,5,7,9,11).join
end

#c(id) ⇒ Object



19
20
21
# File 'lib/za-id-validator.rb', line 19

def c(id)
  (b(id).to_i * 2).to_s.chars.to_a.inject(0) { |sum, v| sum += v.to_i }
end

#d(id) ⇒ Object



23
24
25
# File 'lib/za-id-validator.rb', line 23

def d(id)
  a(id) + c(id)
end

#length_is_valid?(id) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
# File 'lib/za-id-validator.rb', line 7

def length_is_valid?(id)
  id =~ /^\d{13}$/
end

#validate_za_identity_number?(id) ⇒ Boolean

Returns:

  • (Boolean)


3
4
5
# File 'lib/za-id-validator.rb', line 3

def validate_za_identity_number?(id)
  length_is_valid?
end

#z(id) ⇒ Object



27
28
29
# File 'lib/za-id-validator.rb', line 27

def z(id)
  10 - (d(id) % 10)
end