Class: BrBoleto::Boleto::Caixa
- Inherits:
-
Base
- Object
- ActiveModelBase
- Base
- BrBoleto::Boleto::Caixa
- Defined in:
- lib/br_boleto/boleto/caixa.rb
Overview
Implementação de emissão de boleto bancário pela Caixa Econômica Federal.
Documentação Implementada
A documentação na qual essa implementação foi baseada está localizada na pasta ‘documentacoes_dos_boletos/caixa’ dentro dessa biblioteca.
Carteiras suportadas
Segue abaixo as carteiras suportadas da Caixa Econômica Federal seguindo a documentação:
___________________________________________
| Carteira | Descri
Instance Attribute Summary
Attributes inherited from Base
#aceite, #codigo_moeda, #conta_corrente, #data_documento, #data_vencimento, #especie, #especie_documento, #instrucoes1, #instrucoes2, #instrucoes3, #instrucoes4, #instrucoes5, #instrucoes6, #local_pagamento, #logo, #numero_documento, #parcelas, #valor_documento
Instance Method Summary collapse
-
#codigo_de_barras_do_banco ⇒ String
Código de barras do banco.
- #composicao_codigo_barras ⇒ Object
- #conta_class ⇒ Object
-
#default_values ⇒ Object
Conforme descrito na documentação, o valor que deve constar em local do pagamento é “PREFERENCIALMENTE NAS CASAS LOTÉRICAS ATÉ O VALOR LIMITE”.
- #digito_verificador_nosso_numero ⇒ Object
-
#identificador_de_emissao ⇒ String
O Identificado de Emissão é o 2° e ultimo caracter da carteira Normalmente é 4 onde significa que o Beneficiário emitiu o boleto.
-
#nosso_numero ⇒ String
Mostra o campo nosso número calculando o dígito verificador do nosso número.
- #nosso_numero_de_3_a_5 ⇒ Object
- #nosso_numero_de_6_a_8 ⇒ Object
- #nosso_numero_de_9_a_17 ⇒ Object
-
#tipo_cobranca ⇒ String
O Tipo de cobrança é o 1° caracter da carteira.
- #valid_carteira_inclusion ⇒ Object
-
#valid_carteira_length ⇒ Object
Carteira deve ter 2 digitos.
-
#valid_convenio_maximum ⇒ Object
Tamanho máximo para o codigo_cedente/Convênio.
-
#valid_convenio_required ⇒ Object
codigo_cedente/Convênio deve ser obrigatório.
-
#valid_numero_documento_maximum ⇒ Object
VALIDAÇÕES DINÂMICAS #################.
Methods inherited from Base
#aceite_formatado, #codigo_de_barras, #codigo_de_barras_padrao, #data_vencimento_deve_ser_uma_data, #digito_codigo_de_barras, #fator_de_vencimento, #linha_digitavel, #persisted?, #to_partial_path, #valid_valor_documento_tamanho_maximo, #valor_formatado_para_codigo_de_barras
Methods included from HavePagador
Methods included from HaveConta
Methods inherited from ActiveModelBase
#assign_attributes, #initialize
Constructor Details
This class inherits a constructor from BrBoleto::ActiveModelBase
Instance Method Details
#codigo_de_barras_do_banco ⇒ String
Código de barras do banco
________________________________________________________________________________________
| Posi
123 124 125 126 127 |
# File 'lib/br_boleto/boleto/caixa.rb', line 123 def = nil codigo_dv = Modulo11FatorDe2a9RestoZero.new() "#{composicao_codigo_barras}#{codigo_dv}" end |
#composicao_codigo_barras ⇒ Object
129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/br_boleto/boleto/caixa.rb', line 129 def return if = "#{conta.codigo_cedente}" << "#{conta.codigo_cedente_dv}" << "#{nosso_numero_de_3_a_5}" << "#{tipo_cobranca}" << "#{nosso_numero_de_6_a_8}" << "#{identificador_de_emissao}" << "#{nosso_numero_de_9_a_17}" end |
#conta_class ⇒ Object
27 28 29 |
# File 'lib/br_boleto/boleto/caixa.rb', line 27 def conta_class BrBoleto::Conta::Caixa end |
#default_values ⇒ Object
Conforme descrito na documentação, o valor que deve constar em local do pagamento é “PREFERENCIALMENTE NAS CASAS LOTÉRICAS ATÉ O VALOR LIMITE”
58 59 60 61 62 |
# File 'lib/br_boleto/boleto/caixa.rb', line 58 def default_values super.merge({ :local_pagamento => 'PREFERENCIALMENTE NAS CASAS LOTÉRICAS ATÉ O VALOR LIMITE' }) end |
#digito_verificador_nosso_numero ⇒ Object
64 65 66 |
# File 'lib/br_boleto/boleto/caixa.rb', line 64 def digito_verificador_nosso_numero BrBoleto::Calculos::Modulo11FatorDe2a9RestoZero.new("#{conta.carteira}#{numero_documento}") end |
#identificador_de_emissao ⇒ String
O Identificado de Emissão é o 2° e ultimo caracter da carteira Normalmente é 4 onde significa que o Beneficiário emitiu o boleto.
102 103 104 |
# File 'lib/br_boleto/boleto/caixa.rb', line 102 def identificador_de_emissao conta.carteira.last if conta.carteira.present? end |
#nosso_numero ⇒ String
Mostra o campo nosso número calculando o dígito verificador do nosso número.
72 73 74 |
# File 'lib/br_boleto/boleto/caixa.rb', line 72 def nosso_numero "#{conta.carteira}#{numero_documento}-#{digito_verificador_nosso_numero}" end |
#nosso_numero_de_3_a_5 ⇒ Object
77 78 79 |
# File 'lib/br_boleto/boleto/caixa.rb', line 77 def nosso_numero_de_3_a_5 nosso_numero[2..4] end |
#nosso_numero_de_6_a_8 ⇒ Object
81 82 83 |
# File 'lib/br_boleto/boleto/caixa.rb', line 81 def nosso_numero_de_6_a_8 nosso_numero[5..7] end |
#nosso_numero_de_9_a_17 ⇒ Object
85 86 87 |
# File 'lib/br_boleto/boleto/caixa.rb', line 85 def nosso_numero_de_9_a_17 nosso_numero[8..16] end |
#tipo_cobranca ⇒ String
O Tipo de cobrança é o 1° caracter da carteira
93 94 95 |
# File 'lib/br_boleto/boleto/caixa.rb', line 93 def tipo_cobranca conta.carteira[0] if conta.carteira.present? end |
#valid_carteira_inclusion ⇒ Object
50 51 52 |
# File 'lib/br_boleto/boleto/caixa.rb', line 50 def valid_carteira_inclusion %w{14 24} end |
#valid_carteira_length ⇒ Object
Carteira deve ter 2 digitos
47 48 49 |
# File 'lib/br_boleto/boleto/caixa.rb', line 47 def valid_carteira_length 2 end |
#valid_convenio_maximum ⇒ Object
Tamanho máximo para o codigo_cedente/Convênio
37 38 39 |
# File 'lib/br_boleto/boleto/caixa.rb', line 37 def valid_convenio_maximum 6 end |
#valid_convenio_required ⇒ Object
codigo_cedente/Convênio deve ser obrigatório
42 43 44 |
# File 'lib/br_boleto/boleto/caixa.rb', line 42 def valid_convenio_required true end |
#valid_numero_documento_maximum ⇒ Object
VALIDAÇÕES DINÂMICAS #################
32 33 34 |
# File 'lib/br_boleto/boleto/caixa.rb', line 32 def valid_numero_documento_maximum 15 end |