class Parxer::Validator::Rut
Public Instance Methods
validate()
click to toggle source
# File lib/parxer/validators/rut_validator.rb, line 4 def validate rut = clean_rut return true if rut.blank? t = rut[0...-1].to_i m = 0 s = 1 while t.positive? s = (s + t % 10 * (9 - m % 6)) % 11 m += 1 t /= 10 end v = if s.positive? then (s - 1).to_s else 'K' end (v == rut.last.upcase) rescue false end
Private Instance Methods
clean_rut()
click to toggle source
# File lib/parxer/validators/rut_validator.rb, line 23 def clean_rut rut = context.value.to_s rut.to_s.upcase! rut.delete!(".") rut.delete!("-") rut end