class BrDocuments::IE::RO
Protected Instance Methods
format_ie(number)
click to toggle source
# File lib/br_documents/ie/ro.rb, line 11 def format_ie(number) if number.gsub(/(\.)|(\-)/, '').length == 9 number.sub(/(\d{3})(\d{5})(\d{1})/, '\\1.\\2-\\3') else number.sub(/(\d{13})(\d{1})/, '\\1-\\2') end end
valid_check_digit?()
click to toggle source
# File lib/br_documents/ie/ro.rb, line 23 def valid_check_digit? valid_old_digital_check or valid_new_digital_check end
valid_format?()
click to toggle source
# File lib/br_documents/ie/ro.rb, line 19 def valid_format? valid_old_format or valid_new_format end
Private Instance Methods
remove_mask!()
click to toggle source
# File lib/br_documents/ie/ro.rb, line 51 def remove_mask! @number.gsub!(/[\.\/-]/, '') end
valid_new_digital_check()
click to toggle source
# File lib/br_documents/ie/ro.rb, line 45 def valid_new_digital_check weight = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2] remove_mask! @number[-1] == generate_check_digit(@number, weight).to_s end
valid_new_format()
click to toggle source
# File lib/br_documents/ie/ro.rb, line 34 def valid_new_format regex = /^(\d{13}\-\d{1})$|^(\d{14})$/ regex.match(@number).present? end
valid_old_digital_check()
click to toggle source
# File lib/br_documents/ie/ro.rb, line 39 def valid_old_digital_check weight = [3, 2, 9, 8, 7, 6, 5, 4, 3, 2] remove_mask! @number[-1] == generate_check_digit(@number[-6, 6], weight).to_s end
valid_old_format()
click to toggle source
# File lib/br_documents/ie/ro.rb, line 29 def valid_old_format regex = /^(\d{3}\.\d{5}\-\d{1})$|^(\d{9})$/ regex.match(@number).present? end