Sha256: 5cc039eb1cf4037fb41a82214798513bcd4ae16e6d0e70bc978612f2f7017b55

Contents?: true

Size: 347 Bytes

Versions: 2

Compression:

Stored size: 347 Bytes

Contents

# frozen_string_literal: true

class CNPJ
  class VerifierDigit
    def self.generate(numbers)
      index = 2

      sum = numbers.reverse.reduce(0) do |buffer, number|
        (buffer + number * index).tap do
          index = index == 9 ? 2 : index + 1
        end
      end

      mod = sum % 11
      mod < 2 ? 0 : 11 - mod
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cpf_cnpj-0.5.0 lib/cnpj/verifier_digit.rb
cpf_cnpj-0.4.1 lib/cnpj/verifier_digit.rb