Class: Brcobranca::Remessa::Pagamento
- Inherits:
-
Object
- Object
- Brcobranca::Remessa::Pagamento
- Includes:
- Validations
- Defined in:
- lib/brcobranca/remessa/pagamento.rb
Instance Attribute Summary collapse
-
#bairro_sacado ⇒ Object
REQUERIDO: bairro do sacado (cliente).
-
#cep_sacado ⇒ Object
REQUERIDO: CEP do sacado (cliente).
-
#cidade_sacado ⇒ Object
REQUERIDO: cidade do sacado (cliente).
-
#cod_desconto ⇒ Object
OPCIONAL: codigo do desconto (para CNAB240).
-
#cod_primeira_instrucao ⇒ Object
OPCIONAL: codigo da 1a instrucao.
-
#cod_segunda_instrucao ⇒ Object
OPCIONAL: codigo da 2a instrucao.
-
#codigo_baixa ⇒ Object
OPCIONAL: codigo baixa.
-
#codigo_juros ⇒ Object
OPCIONAL: codigo dos juros.
-
#codigo_multa ⇒ Object
OPCIONAL: código da multa.
-
#codigo_protesto ⇒ Object
OPCIONAL: codigo do protesto.
-
#data_desconto ⇒ Object
OPCIONAL: data limite para o desconto.
-
#data_emissao ⇒ Object
REQUERIDO: data de emissao do boleto.
-
#data_mora ⇒ Object
OPCIONAL: Data para cobrança de mora.
-
#data_multa ⇒ Object
OPCIONAL: Data para cobrança de multa.
-
#data_segundo_desconto ⇒ Object
OPCIONAL: data limite para o desconto.
-
#data_terceiro_desconto ⇒ Object
OPCIONAL: data limite para o terceiro desconto.
-
#data_vencimento ⇒ Object
REQUERIDO: data do vencimento do boleto.
-
#dias_baixa ⇒ Object
OPCIONAL: dias para baixa.
-
#dias_protesto ⇒ Object
OPCIONAL: dias para protesto.
-
#documento ⇒ Object
OPCIONAL: Número utilizado para controle do beneficiário/cedente.
-
#documento_avalista ⇒ Object
OPCIONAL: documento do avalista.
-
#documento_sacado ⇒ Object
REQUERIDO: documento do sacado (cliente).
-
#endereco_sacado ⇒ Object
REQUERIDO: endereco do sacado (cliente).
-
#especie_titulo ⇒ Object
OPCIONAL: espécie do título.
-
#identificacao_ocorrencia ⇒ Object
REQUERIDO: Código da ocorrência.
-
#nome_avalista ⇒ Object
OPCIONAL: nome do avalista.
-
#nome_sacado ⇒ Object
REQUERIDO: nome do sacado (cliente).
-
#nosso_numero ⇒ Object
REQUERIDO: nosso numero.
-
#numero ⇒ Object
OPCIONAL: Número do Documento de Cobrança - Número adotado e controlado pelo Cliente, para identificar o título de cobrança.
-
#parcela ⇒ Object
OPCIONAL: Número da Parcela.
-
#percentual_multa ⇒ Object
OPCIONAL: Percentual multa por atraso %.
-
#tipo_mora ⇒ Object
OPCIONAL: tipo de mora (diário, mensal).
-
#uf_sacado ⇒ Object
REQUERIDO: UF do sacado (cliente).
-
#valor ⇒ Object
REQUERIDO: valor do boleto.
-
#valor_abatimento ⇒ Object
OPCIONAL: valor do abatimento.
-
#valor_desconto ⇒ Object
OPCIONAL: valor a ser concedido de desconto.
-
#valor_iof ⇒ Object
OPCIONAL: valor do IOF.
-
#valor_mora ⇒ Object
OPCIONAL: valor da mora ao dia.
-
#valor_segundo_desconto ⇒ Object
OPCIONAL: valor a ser concedido de desconto.
-
#valor_terceiro_desconto ⇒ Object
OPCIONAL: valor a ser concedido de desconto.
Instance Method Summary collapse
- #documento_ou_numero ⇒ Object
-
#formata_data_desconto(formato = '%d%m%y') ⇒ String
Formata a data de desconto de acordo com o formato passado.
-
#formata_data_multa(formato = '%d%m%y') ⇒ String
Formata a data de cobrança da multa.
-
#formata_data_segundo_desconto(formato = '%d%m%y') ⇒ String
Formata a data de segundo desconto de acordo com o formato passado.
-
#formata_data_terceiro_desconto(formato = '%d%m%y') ⇒ String
Formata a data de terceiro desconto de acordo com o formato passado.
- #formata_documento_ou_numero(tamanho = 25, caracter = ' ') ⇒ Object
-
#formata_percentual_multa(tamanho = 4) ⇒ String
Formata a valor do percentual da multa.
-
#formata_valor(tamanho = 13) ⇒ Object
Formata o campo valor referentes as casas decimais exe.
-
#formata_valor_abatimento(tamanho = 13) ⇒ Object
Formata o campo valor do IOF.
-
#formata_valor_desconto(tamanho = 13) ⇒ Object
Formata o campo valor do desconto.
-
#formata_valor_iof(tamanho = 13) ⇒ Object
Formata o campo valor do IOF.
-
#formata_valor_mora(tamanho = 13) ⇒ Object
Formata o campo valor da mora.
-
#formata_valor_multa(tamanho = 6) ⇒ Object
Formata o campo valor da multa.
-
#formata_valor_segundo_desconto(tamanho = 13) ⇒ Object
Formata o campo valor do segundo desconto.
-
#formata_valor_terceiro_desconto(tamanho = 13) ⇒ Object
Formata o campo valor do terceiro desconto.
-
#identificacao_avalista(zero = true) ⇒ Object
Retorna a identificacao do avalista Se for pessoa fisica (CPF com 11 digitos) é 1 Se for juridica (CNPJ com 14 digitos) é 2.
-
#identificacao_sacado(zero = true) ⇒ Object
Retorna a identificacao do pagador Se for pessoa fisica (CPF com 11 digitos) é 1 Se for juridica (CNPJ com 14 digitos) é 2.
-
#initialize(campos = {}) {|_self| ... } ⇒ Pagamento
constructor
Nova instancia da classe Pagamento.
Methods included from Validations
#errors, included, #invalid?, #valid?
Constructor Details
#initialize(campos = {}) {|_self| ... } ⇒ Pagamento
Nova instancia da classe Pagamento
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 106 def initialize(campos = {}) padrao = { data_emissao: Date.current, data_segundo_desconto: '00-00-00', data_terceiro_desconto: '00-00-00', tipo_mora: '3', valor_mora: 0.0, valor_desconto: 0.0, valor_segundo_desconto: 0.0, valor_terceiro_desconto: 0.0, valor_iof: 0.0, valor_abatimento: 0.0, nome_avalista: '', cod_desconto: '0', especie_titulo: '01', identificacao_ocorrencia: '01', codigo_multa: '0', percentual_multa: 0.0, parcela: '01', codigo_protesto: '3', dias_protesto: '00', codigo_baixa: '0', dias_baixa: '000', cod_primeira_instrucao: '00', cod_segunda_instrucao: '00' } campos = padrao.merge!(campos) campos.each do |campo, valor| send :"#{campo}=", valor end yield self if block_given? end |
Instance Attribute Details
#bairro_sacado ⇒ Object
REQUERIDO: bairro do sacado (cliente)
23 24 25 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 23 def bairro_sacado @bairro_sacado end |
#cep_sacado ⇒ Object
REQUERIDO: CEP do sacado (cliente)
25 26 27 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 25 def cep_sacado @cep_sacado end |
#cidade_sacado ⇒ Object
REQUERIDO: cidade do sacado (cliente)
27 28 29 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 27 def cidade_sacado @cidade_sacado end |
#cod_desconto ⇒ Object
OPCIONAL: codigo do desconto (para CNAB240)
47 48 49 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 47 def cod_desconto @cod_desconto end |
#cod_primeira_instrucao ⇒ Object
OPCIONAL: codigo da 1a instrucao
37 38 39 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 37 def cod_primeira_instrucao @cod_primeira_instrucao end |
#cod_segunda_instrucao ⇒ Object
OPCIONAL: codigo da 2a instrucao
39 40 41 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 39 def cod_segunda_instrucao @cod_segunda_instrucao end |
#codigo_baixa ⇒ Object
OPCIONAL: codigo baixa
87 88 89 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 87 def codigo_baixa @codigo_baixa end |
#codigo_juros ⇒ Object
OPCIONAL: codigo dos juros
81 82 83 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 81 def codigo_juros @codigo_juros end |
#codigo_multa ⇒ Object
OPCIONAL: código da multa
71 72 73 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 71 def codigo_multa @codigo_multa end |
#codigo_protesto ⇒ Object
OPCIONAL: codigo do protesto
83 84 85 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 83 def codigo_protesto @codigo_protesto end |
#data_desconto ⇒ Object
OPCIONAL: data limite para o desconto
43 44 45 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 43 def data_desconto @data_desconto end |
#data_emissao ⇒ Object
REQUERIDO: data de emissao do boleto
13 14 15 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 13 def data_emissao @data_emissao end |
#data_mora ⇒ Object
OPCIONAL: Data para cobrança de mora
79 80 81 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 79 def data_mora @data_mora end |
#data_multa ⇒ Object
OPCIONAL: Data para cobrança de multa
75 76 77 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 75 def data_multa @data_multa end |
#data_segundo_desconto ⇒ Object
OPCIONAL: data limite para o desconto
61 62 63 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 61 def data_segundo_desconto @data_segundo_desconto end |
#data_terceiro_desconto ⇒ Object
OPCIONAL: data limite para o terceiro desconto
65 66 67 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 65 def data_terceiro_desconto @data_terceiro_desconto end |
#data_vencimento ⇒ Object
REQUERIDO: data do vencimento do boleto
11 12 13 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 11 def data_vencimento @data_vencimento end |
#dias_baixa ⇒ Object
OPCIONAL: dias para baixa
89 90 91 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 89 def dias_baixa @dias_baixa end |
#dias_protesto ⇒ Object
OPCIONAL: dias para protesto
85 86 87 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 85 def dias_protesto @dias_protesto end |
#documento ⇒ Object
OPCIONAL: Número utilizado para controle do beneficiário/cedente
59 60 61 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 59 def documento @documento end |
#documento_avalista ⇒ Object
OPCIONAL: documento do avalista
35 36 37 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 35 def documento_avalista @documento_avalista end |
#documento_sacado ⇒ Object
REQUERIDO: documento do sacado (cliente)
17 18 19 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 17 def documento_sacado @documento_sacado end |
#endereco_sacado ⇒ Object
REQUERIDO: endereco do sacado (cliente)
21 22 23 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 21 def endereco_sacado @endereco_sacado end |
#especie_titulo ⇒ Object
OPCIONAL: espécie do título
69 70 71 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 69 def especie_titulo @especie_titulo end |
#identificacao_ocorrencia ⇒ Object
REQUERIDO: Código da ocorrência
31 32 33 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 31 def identificacao_ocorrencia @identificacao_ocorrencia end |
#nome_avalista ⇒ Object
OPCIONAL: nome do avalista
33 34 35 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 33 def nome_avalista @nome_avalista end |
#nome_sacado ⇒ Object
REQUERIDO: nome do sacado (cliente)
19 20 21 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 19 def nome_sacado @nome_sacado end |
#nosso_numero ⇒ Object
REQUERIDO: nosso numero
9 10 11 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 9 def nosso_numero @nosso_numero end |
#numero ⇒ Object
OPCIONAL: Número do Documento de Cobrança - Número adotado e controlado pelo Cliente, para identificar o título de cobrança. Informação utilizada para referenciar a identificação do documento objeto de cobrança. Poderá conter número de duplicata, no caso de cobrança de duplicatas; número da apólice, no caso de cobrança de seguros, etc
57 58 59 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 57 def numero @numero end |
#parcela ⇒ Object
OPCIONAL: Número da Parcela
91 92 93 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 91 def parcela @parcela end |
#percentual_multa ⇒ Object
OPCIONAL: Percentual multa por atraso %
73 74 75 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 73 def percentual_multa @percentual_multa end |
#tipo_mora ⇒ Object
OPCIONAL: tipo de mora (diário, mensal)
77 78 79 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 77 def tipo_mora @tipo_mora end |
#uf_sacado ⇒ Object
REQUERIDO: UF do sacado (cliente)
29 30 31 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 29 def uf_sacado @uf_sacado end |
#valor ⇒ Object
REQUERIDO: valor do boleto
15 16 17 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 15 def valor @valor end |
#valor_abatimento ⇒ Object
OPCIONAL: valor do abatimento
51 52 53 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 51 def valor_abatimento @valor_abatimento end |
#valor_desconto ⇒ Object
OPCIONAL: valor a ser concedido de desconto
45 46 47 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 45 def valor_desconto @valor_desconto end |
#valor_iof ⇒ Object
OPCIONAL: valor do IOF
49 50 51 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 49 def valor_iof @valor_iof end |
#valor_mora ⇒ Object
OPCIONAL: valor da mora ao dia
41 42 43 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 41 def valor_mora @valor_mora end |
#valor_segundo_desconto ⇒ Object
OPCIONAL: valor a ser concedido de desconto
63 64 65 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 63 def valor_segundo_desconto @valor_segundo_desconto end |
#valor_terceiro_desconto ⇒ Object
OPCIONAL: valor a ser concedido de desconto
67 68 69 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 67 def valor_terceiro_desconto @valor_terceiro_desconto end |
Instance Method Details
#documento_ou_numero ⇒ Object
219 220 221 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 219 def documento_ou_numero documento || numero end |
#formata_data_desconto(formato = '%d%m%y') ⇒ String
Formata a data de desconto de acordo com o formato passado
145 146 147 148 149 150 151 152 153 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 145 def formata_data_desconto(formato = '%d%m%y') data_desconto.strftime(formato) rescue StandardError if formato == '%d%m%y' '000000' else '00000000' end end |
#formata_data_multa(formato = '%d%m%y') ⇒ String
Formata a data de cobrança da multa
198 199 200 201 202 203 204 205 206 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 198 def formata_data_multa(formato = '%d%m%y') data_multa.strftime(formato) rescue StandardError if formato == '%d%m%y' '000000' else '00000000' end end |
#formata_data_segundo_desconto(formato = '%d%m%y') ⇒ String
Formata a data de segundo desconto de acordo com o formato passado
159 160 161 162 163 164 165 166 167 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 159 def formata_data_segundo_desconto(formato = '%d%m%y') data_segundo_desconto.strftime(formato) rescue StandardError if formato == '%d%m%y' '000000' else '00000000' end end |
#formata_data_terceiro_desconto(formato = '%d%m%y') ⇒ String
Formata a data de terceiro desconto de acordo com o formato passado
173 174 175 176 177 178 179 180 181 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 173 def formata_data_terceiro_desconto(formato = '%d%m%y') data_terceiro_desconto.strftime(formato) rescue StandardError if formato == '%d%m%y' '000000' else '00000000' end end |
#formata_documento_ou_numero(tamanho = 25, caracter = ' ') ⇒ Object
223 224 225 226 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 223 def formata_documento_ou_numero(tamanho = 25, caracter = ' ') doc = documento_ou_numero.to_s.gsub(/[^0-9A-Za-z ]/, '') doc.rjust(tamanho, caracter)[0...tamanho] end |
#formata_percentual_multa(tamanho = 4) ⇒ String
Formata a valor do percentual da multa
190 191 192 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 190 def formata_percentual_multa(tamanho = 4) format_value(:percentual_multa, tamanho) end |
#formata_valor(tamanho = 13) ⇒ Object
Formata o campo valor referentes as casas decimais exe. R$199,90 => 0000000019990
215 216 217 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 215 def formata_valor(tamanho = 13) format_value(:valor, tamanho) end |
#formata_valor_abatimento(tamanho = 13) ⇒ Object
Formata o campo valor do IOF
287 288 289 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 287 def formata_valor_abatimento(tamanho = 13) format_value(:valor_abatimento, tamanho) end |
#formata_valor_desconto(tamanho = 13) ⇒ Object
Formata o campo valor do desconto
251 252 253 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 251 def formata_valor_desconto(tamanho = 13) format_value(:valor_desconto, tamanho) end |
#formata_valor_iof(tamanho = 13) ⇒ Object
Formata o campo valor do IOF
278 279 280 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 278 def formata_valor_iof(tamanho = 13) format_value(:valor_iof, tamanho) end |
#formata_valor_mora(tamanho = 13) ⇒ Object
Formata o campo valor da mora
233 234 235 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 233 def formata_valor_mora(tamanho = 13) format_value(:valor_mora, tamanho) end |
#formata_valor_multa(tamanho = 6) ⇒ Object
Formata o campo valor da multa
242 243 244 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 242 def formata_valor_multa(tamanho = 6) format_value(:percentual_multa, tamanho) end |
#formata_valor_segundo_desconto(tamanho = 13) ⇒ Object
Formata o campo valor do segundo desconto
260 261 262 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 260 def formata_valor_segundo_desconto(tamanho = 13) format_value(:valor_segundo_desconto, tamanho) end |
#formata_valor_terceiro_desconto(tamanho = 13) ⇒ Object
Formata o campo valor do terceiro desconto
269 270 271 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 269 def formata_valor_terceiro_desconto(tamanho = 13) format_value(:valor_terceiro_desconto, tamanho) end |
#identificacao_avalista(zero = true) ⇒ Object
Retorna a identificacao do avalista Se for pessoa fisica (CPF com 11 digitos) é 1 Se for juridica (CNPJ com 14 digitos) é 2
303 304 305 306 307 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 303 def identificacao_avalista(zero = true) return '0' if documento_avalista.nil? Brcobranca::Util::Empresa.new(documento_avalista, zero).tipo end |
#identificacao_sacado(zero = true) ⇒ Object
Retorna a identificacao do pagador Se for pessoa fisica (CPF com 11 digitos) é 1 Se for juridica (CNPJ com 14 digitos) é 2
295 296 297 |
# File 'lib/brcobranca/remessa/pagamento.rb', line 295 def identificacao_sacado(zero = true) Brcobranca::Util::Empresa.new(documento_sacado, zero).tipo end |