Sha256: ca56cdcbdaaedc1d369d05c011f3bd5cc44b6d3fde53dd73c3178b7fca6a77d4

Contents?: true

Size: 349 Bytes

Versions: 3

Compression:

Stored size: 349 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

3 entries across 3 versions & 1 rubygems

Version Path
cpf_cnpj-1.0.1 lib/cnpj/verifier_digit.rb
cpf_cnpj-1.0.0 lib/cnpj/verifier_digit.rb
cpf_cnpj-0.6.0 lib/cnpj/verifier_digit.rb