Current section

Files

Jump to
brcpfcnpj lib brcpfcnpj.ex
Raw

lib/brcpfcnpj.ex

defmodule Brcpfcnpj do
@doc """
Valida Cpf, realiza a chamda ao modulo Cpfcnpj com aos metodos de formar correta.
forca o desenvolvedor passar os parametros de forma correta
## Exemplos
iex(3)> cpf = %Cpf{number: "11144477735"}
%Cpf{number: "11144477735", tp_data: :cpf}
iex(4)> Brcpfcnpj.cpf_valid?(cpf)
false
"""
def cpf_valid?(cpf=%Cpf{}) do
Cpfcnpj.valid?({cpf.tp_data,cpf.number})
end
@doc """
Valida Cnpj, realiza a chamda ao modulo Cpfcnpj com aos metodos de formar correta.
forca o desenvolvedor passar os parametros de forma correta
## Exemplos
iex(7)> cnpj = %Cnpj{number: "69103604000160"}
%Cnpj{number: "69103604000160", tp_data: :cnpj}
iex(8)> Brcpfcnpj.cnpj_valid?(cnpj)
true
"""
def cnpj_valid?(cnpj=%Cnpj{}) do
Cpfcnpj.valid?({cnpj.tp_data,cnpj.number})
end
@doc """
Valida o Cpf e retorna uma String do Cpf formatado
Caso seja invalido retorna nil
## Exemplos
iex(9)>cpf = %Cpf{number: "11144477735"}
%Cpf{number: "11144477735", tp_data: :cpf}
iex(10)>Brcpfcnpj.cpf_format(cpf)
"111.444.777-35"
iex(11)>cpf = %Cpf{number: "11144477734"}
%Cpf{number: "11144477734", tp_data: :cpf}
iex(12)>Brcpfcnpj.cpf_format(cpf)
nil
"""
def cpf_format(cpf=%Cpf{}) do
Cpfcnpj.format_number({cpf.tp_data,cpf.number})
end
@doc """
Valida o Cnpj e retorna uma String do Cnpj formatado
Caso seja invalido retorna nil
## Exemplos
cnpj = %Cnpj{number: "69103604000160"}
Brcpfcnpj.cnpj_format(cnpj) # ==>"69.103.604/0001-60"
cnpj = %Cnpj{number: "69103604000161"}
Brcpfcnpj.cnpj_format(cnpj) # ==> nil
"""
def cnpj_format(cnpj=%Cnpj{}) do
Cpfcnpj.format_number({cnpj.tp_data,cnpj.number})
end
end