Sha256: acfafe295ee49db450faf978ba0ec044efb9c10685a2ed3d3c2dbfcfd963d3e4

Contents?: true

Size: 707 Bytes

Versions: 11

Compression:

Stored size: 707 Bytes

Contents

require_relative "pattern1"

module BrDocuments
  module IE
    class TO < Pattern1
      def initialize(number)
        super
        if number.gsub(/(\.)|(\-)/, "").length == 9
          @mask = /^(\d{2}\.\d{6}\-\d{1})$|^(\d{9})$/
          @weight = [9, 8, 7, 6, 5, 4, 3, 2]
        else
          @mask = /^(\d{2}\.\d{2}\.\d{6}\-\d{1})$|^(\d{11})$/
          @weight = [9, 8, 0, 0, 7, 6, 5, 4, 3, 2]
        end
      end

      private
      def format_ie(number)
        if number.gsub(/(\.)|(\-)/, "").length == 9
          number.sub(/(\d{2})(\d{6})(\d{1})/, "\\1.\\2-\\3")
        else
          number.sub(/(\d{2})(\d{2})(\d{6})(\d{1})/, "\\1.\\2.\\3-\\4")
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

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