Sha256: c919aeed2fd95bffabc65197dfdf2002fb2cc250e737c956d0d64c2b2ff12059

Contents?: true

Size: 617 Bytes

Versions: 9

Compression:

Stored size: 617 Bytes

Contents

require_relative "pattern1"

module BrDocuments
  module IE
    class MT < Pattern1
      def initialize(number)
        generate_zeros(number) { |zeros| number.insert(0, zeros) }

        super
        @mask = /^\d{4}\.?\d{3}\.?\d{3}\-?\d{1}$/
        @weight = [3, 2, 9, 8, 7, 6, 5, 4, 3, 2]
      end

      private
      def generate_zeros(number)
        just_numbers = number.gsub(/[\.\/-]/, "")
        zeros = ("0" * 11).slice(just_numbers.length, 11)
        yield "#{zeros}" if block_given?
      end

      def format_ie(number)
        number.sub(/(\d{10})(\d{1})/, "\\1-\\2")
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
br_documents-0.1.3 lib/br_documents/ie/mt.rb
br_documents-0.1.2 lib/br_documents/ie/mt.rb
br_documents-0.1.1 lib/br_documents/ie/mt.rb
br_documents-0.1.0 lib/br_documents/ie/mt.rb
br_documents-0.0.15 lib/br_documents/ie/mt.rb
br_documents-0.0.14 lib/br_documents/ie/mt.rb
br_documents-0.0.13 lib/br_documents/ie/mt.rb
br_documents-0.0.12 lib/br_documents/ie/mt.rb
br_documents-0.0.11 lib/br_documents/ie/mt.rb