Class: Brcobranca::Boleto::Caixa
- Defined in:
- lib/brcobranca/boleto/caixa.rb
Overview
Caixa
Instance Attribute Summary collapse
-
#emissao ⇒ Object
REQUERIDO: Emissão do boleto.
Attributes inherited from Base
#aceite, #agencia, #avalista, #avalista_documento, #carteira, #carteira_label, #cedente, #cedente_endereco, #codigo_servico, #conta_corrente, #convenio, #data_documento, #data_processamento, #data_vencimento, #demonstrativo, #descontos_e_abatimentos, #documento_cedente, #documento_numero, #emv, #especie, #especie_documento, #instrucao1, #instrucao2, #instrucao3, #instrucao4, #instrucao5, #instrucao6, #instrucao7, #instrucoes, #local_pagamento, #moeda, #nosso_numero, #quantidade, #sacado, #sacado_documento, #sacado_endereco, #valor, #variacao
Instance Method Summary collapse
-
#agencia_conta_boleto ⇒ String
Número da agência/código cedente do cliente para exibir no boleto.
-
#banco ⇒ String
Código do banco emissor.
-
#banco_dv ⇒ String
Dígito verificador do código do banco em módulo 10 Módulo 10 de 104 é 0.
-
#codigo_barras_segunda_parte ⇒ String
Monta a segunda parte do código de barras.
-
#convenio=(valor) ⇒ String
Número do convênio/contrato do cliente junto ao banco.
-
#convenio_dv ⇒ String
Dígito verificador do convênio ou código do cedente.
-
#initialize(campos = {}) ⇒ Caixa
constructor
Nova instância da CaixaEconomica.
-
#nosso_numero=(valor) ⇒ String
Número seqüencial utilizado para identificar o boleto.
-
#nosso_numero_boleto ⇒ String
Nosso número, 17 dígitos.
-
#nosso_numero_dv ⇒ String
Dígito verificador do Nosso Número Utiliza-se o [-1..-1] para retornar o último caracter.
Methods inherited from Base
#agencia_dv, #codigo_barras, #conta_corrente_dv, #fator_vencimento, #logotipo, #valor_documento
Methods included from Template::Base
Methods included from Validations
#errors, included, #invalid?, #valid?
Constructor Details
#initialize(campos = {}) ⇒ Caixa
Nova instância da CaixaEconomica
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/brcobranca/boleto/caixa.rb', line 26 def initialize(campos = {}) campos = { carteira: '1', carteira_label: 'RG', emissao: '4' }.merge!(campos) campos[:local_pagamento] = 'PREFERENCIALMENTE NAS CASAS LOTÉRICAS ATÉ O VALOR LIMITE' super(campos) end |
Instance Attribute Details
#emissao ⇒ Object
REQUERIDO: Emissão do boleto
14 15 16 |
# File 'lib/brcobranca/boleto/caixa.rb', line 14 def emissao @emissao end |
Instance Method Details
#agencia_conta_boleto ⇒ String
Número da agência/código cedente do cliente para exibir no boleto.
83 84 85 |
# File 'lib/brcobranca/boleto/caixa.rb', line 83 def agencia_conta_boleto "#{agencia}/#{convenio}-#{convenio_dv}" end |
#banco ⇒ String
Código do banco emissor
40 41 42 |
# File 'lib/brcobranca/boleto/caixa.rb', line 40 def banco '104' end |
#banco_dv ⇒ String
Dígito verificador do código do banco em módulo 10 Módulo 10 de 104 é 0
47 48 49 |
# File 'lib/brcobranca/boleto/caixa.rb', line 47 def banco_dv '0' end |
#codigo_barras_segunda_parte ⇒ String
Monta a segunda parte do código de barras.
1 à 6: código do cedente, também conhecido como convênio
7: dígito verificador do código do cedente
8 à 10: dígito 3 à 5 do nosso número
11: dígito 1 do nosso número (modalidade da cobrança)
12 à 14: dígito 6 à 8 do nosso número
15: dígito 2 do nosso número (emissão do boleto)
16 à 24: dígito 9 à 17 do nosso número
25: dígito verificador do campo livre
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'lib/brcobranca/boleto/caixa.rb', line 106 def campo_livre = "#{convenio}" \ "#{convenio_dv}" \ "#{nosso_numero_boleto[2..4]}" \ "#{nosso_numero_boleto[0..0]}" \ "#{nosso_numero_boleto[5..7]}" \ "#{nosso_numero_boleto[1..1]}" \ "#{nosso_numero_boleto[8..16]}" campo_livre.to_s + campo_livre.modulo11( multiplicador: (2..9).to_a, mapeamento: { 10 => 0, 11 => 0 } ) { |total| 11 - (total % 11) }.to_s end |
#convenio=(valor) ⇒ String
Número do convênio/contrato do cliente junto ao banco.
53 54 55 |
# File 'lib/brcobranca/boleto/caixa.rb', line 53 def convenio=(valor) @convenio = valor.to_s.rjust(6, '0') if valor end |
#convenio_dv ⇒ String
Dígito verificador do convênio ou código do cedente
89 90 91 92 93 94 |
# File 'lib/brcobranca/boleto/caixa.rb', line 89 def convenio_dv convenio.modulo11( multiplicador: (2..9).to_a, mapeamento: { 10 => 0, 11 => 0 } ) { |total| 11 - (total % 11) }.to_s end |
#nosso_numero=(valor) ⇒ String
Número seqüencial utilizado para identificar o boleto.
59 60 61 |
# File 'lib/brcobranca/boleto/caixa.rb', line 59 def nosso_numero=(valor) @nosso_numero = valor.to_s.rjust(15, '0') if valor end |
#nosso_numero_boleto ⇒ String
Nosso número, 17 dígitos
65 66 67 |
# File 'lib/brcobranca/boleto/caixa.rb', line 65 def nosso_numero_boleto "#{carteira}#{emissao}#{nosso_numero}-#{nosso_numero_dv}" end |
#nosso_numero_dv ⇒ String
Dígito verificador do Nosso Número Utiliza-se o [-1..-1] para retornar o último caracter
72 73 74 75 76 77 |
# File 'lib/brcobranca/boleto/caixa.rb', line 72 def nosso_numero_dv "#{carteira}#{emissao}#{nosso_numero}".modulo11( multiplicador: (2..9).to_a, mapeamento: { 10 => 0, 11 => 0 } ) { |total| 11 - (total % 11) }.to_s end |