Sha256: 7bbd7760cf0219f2584fa4b762ebbcc7aab91955c8f7a7fa4bfa928532ddc158

Contents?: true

Size: 528 Bytes

Versions: 2

Compression:

Stored size: 528 Bytes

Contents

module Brid
  class PIS < GenericID
    def number_length; 11; end

    def check_digits
      @check_digits ||= begin
        @number[/.$/]
      end
    end

    def sequential
      @sequential ||= begin
        @number[/^(.*).$/, 1]
      end
    end

    def to_s
      er = /^(.{3})(.{5})(.{2})(.{1})/
      "#{@number.gsub(er, '\1.\2.\3-\4')}"
    end

    private
    def valid_number
      sequential.mod11(check_digits_length, :base => 2..9)
    end
  end
end

PIS = Brid::PIS if not defined? PIS and not defined? Pis

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
brid-0.2.1 lib/brid/ids/pis.rb
brid-0.2.0 lib/brid/ids/pis.rb