class BrDocuments::IE::Pattern1

Public Class Methods

new(number) click to toggle source
Calls superclass method BrDocuments::IE::Base::new
# File lib/br_documents/ie/pattern1.rb, line 9
def initialize(number)
  super
  @mask = /^(\d{8}\-\d{1})$|^(\d{9})$/
  @weight = [9, 8, 7, 6, 5, 4, 3, 2]
end

Protected Instance Methods

valid_check_digit?() click to toggle source
# File lib/br_documents/ie/pattern1.rb, line 22
def valid_check_digit?
  calculated_check_digit = generate_check_digit(only_numbers, @weight).to_s
  check_digit_valid = check_digit == calculated_check_digit
  remove_mask_of_number if check_digit_valid

  check_digit_valid
end
valid_format?() click to toggle source
# File lib/br_documents/ie/pattern1.rb, line 17
def valid_format?
  regex = @mask
  regex.match(@number).present?
end

Private Instance Methods

check_digit() click to toggle source
# File lib/br_documents/ie/pattern1.rb, line 32
def check_digit
  only_numbers[-1]
end
only_numbers() click to toggle source
# File lib/br_documents/ie/pattern1.rb, line 40
def only_numbers
  @number.gsub(/[\.\/-]/, '')
end
remove_mask_of_number() click to toggle source
# File lib/br_documents/ie/pattern1.rb, line 36
def remove_mask_of_number
  @number.replace only_numbers
end