class Interage::ParserCNPJ

Constants

ALLOWED_SIZE

Attributes

cnpj[R]

Public Class Methods

call(cnpj) click to toggle source
# File lib/interage/parsers/parser_cnpj.rb, line 9
def self.call(cnpj)
  new(cnpj).perform
end
new(cnpj) click to toggle source
# File lib/interage/parsers/parser_cnpj.rb, line 13
def initialize(cnpj)
  @cnpj = only_numbers(cnpj).to_i
end

Public Instance Methods

perform() click to toggle source
# File lib/interage/parsers/parser_cnpj.rb, line 17
def perform
  "#{prefix_cnpj}/#{sufix_cnpj}".strip if cnpj.positive?
end

Private Instance Methods

digits() click to toggle source
# File lib/interage/parsers/parser_cnpj.rb, line 33
def digits
  @digits ||= cnpj.to_s.rjust(ALLOWED_SIZE, '0')
end
prefix_cnpj() click to toggle source
# File lib/interage/parsers/parser_cnpj.rb, line 25
def prefix_cnpj
  [digits[-14..-13], digits[-12..-10], digits[-9..-7]].join('.')
end
sufix_cnpj() click to toggle source
# File lib/interage/parsers/parser_cnpj.rb, line 29
def sufix_cnpj
  [digits[-6..-3], digits[-2..]].join('-')
end