class Parxer::Formatter::Rut

Public Instance Methods

clean_rut(rut) click to toggle source
# File lib/parxer/formatters/rut_formatter.rb, line 11
def clean_rut(rut)
  rut.scan(/(\d|k)/i).flatten.join("").upcase
end
clean_rut?() click to toggle source
# File lib/parxer/formatters/rut_formatter.rb, line 28
def clean_rut?
  !!config[:clean]
end
format_rut(rut) click to toggle source
# File lib/parxer/formatters/rut_formatter.rb, line 15
def format_rut(rut)
  last_digit = rut[-1]
  digits = rut[0...-1].split("").reverse
  result = []

  digits.each_with_index do |number, idx|
    result << "." if !idx.zero? && (idx % 3).zero?
    result << number
  end

  result.reverse.join("") + "-" + last_digit
end
format_value(rut) click to toggle source
# File lib/parxer/formatters/rut_formatter.rb, line 4
def format_value(rut)
  rut = clean_rut(rut)
  return nil if rut.empty?
  return rut if clean_rut?
  format_rut(rut)
end