Class: BancoCaixa
- Inherits:
-
Brcobranca::Boleto::Base
- Object
- Brcobranca::Boleto::Base
- BancoCaixa
- Defined in:
- lib/brcobranca/boleto/banco_caixa.rb
Overview
Banco Caixa
Constant Summary collapse
- CARTEIRAS =
validates_length_of :convenio, :is => 11, :message => “deve ser igual a 11 dígitos (operacao (3) + convênio (8)).”
{ 14 => 'SR' # Cobranca sem Registro }
Instance Attribute Summary
Attributes inherited from Brcobranca::Boleto::Base
#aceite, #agencia, #cedente, #codigo_servico, #conta_corrente, #convenio, #data_documento, #data_processamento, #dias_vencimento, #documento_cedente, #especie, #especie_documento, #instrucao1, #instrucao2, #instrucao3, #instrucao4, #instrucao5, #instrucao6, #instrucao7, #local_pagamento, #moeda, #quantidade, #sacado, #sacado_documento, #sacado_endereco, #valor, #variacao
Instance Method Summary collapse
-
#agencia_conta_boleto ⇒ String
Número da agência/codigo_cedente do cliente para exibir no boleto.
-
#banco ⇒ String
Codigo do banco emissor (3 dígitos sempre).
- #banco_dv ⇒ Object
-
#campo_livre ⇒ Object
Para as posições do Campo Livre, informar: - Se carteira Sem Registro: Nosso número com 10 posições e Código do Cedente, ambos sem o DV.
- #carteira ⇒ Object
- #codigo_barras ⇒ Object
- #codigo_barras_primeira_parte ⇒ Object
- #codigo_barras_segunda_parte ⇒ Object
- #fator_vencimento ⇒ Object
-
#initialize(campos = {}) ⇒ BancoCaixa
constructor
Nova instancia da CaixaEconomica.
- #monta_codigo_43_digitos ⇒ Object
-
#nosso_numero_boleto ⇒ String
Nosso número para exibir no boleto.
-
#nosso_numero_dv ⇒ String
Dígito verificador do nosso número.
-
#numero_documento ⇒ Object
Número seqüencial utilizado para identificar o boleto.
- #valor_carteira ⇒ Object
-
#valor_documento_formatado ⇒ String
Valor total do documento.
Methods inherited from Brcobranca::Boleto::Base
#agencia_dv, #conta_corrente_dv, #data_vencimento, #nosso_numero, #valor_documento
Constructor Details
#initialize(campos = {}) ⇒ BancoCaixa
Nova instancia da CaixaEconomica
12 13 14 15 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 12 def initialize(campos={}) campos = {:carteira => CARTEIRAS[14]}.merge!(campos) super(campos) end |
Instance Method Details
#agencia_conta_boleto ⇒ String
Número da agência/codigo_cedente do cliente para exibir no boleto. boleto.agencia_conta_boleto #=> “2391/44335511-5”
49 50 51 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 49 def agencia_conta_boleto "#{self.agencia}/#{self.conta_corrente}-#{self.conta_corrente_dv}" end |
#banco ⇒ String
Codigo do banco emissor (3 dígitos sempre)
37 38 39 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 37 def banco "104" end |
#banco_dv ⇒ Object
41 42 43 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 41 def banco_dv self.banco.modulo10 end |
#campo_livre ⇒ Object
Para as posições do Campo Livre, informar:
-
Se carteira Sem Registro: Nosso número com 10 posições e Código do Cedente, ambos
sem o DV.
Ex.: 82NNNNNNNN AAAA YYYXXXXXXXX
Onde: 82 - Identificador da carteira Sem Registro NNNNNNNN - Nosso número do Cliente AAAA - CNPJ da Agência Cedente YYY - Operação Código XXXXXXXX - Código fornecido pela Agência
Nota: A operação + o código fornecido pela agência = convênio
114 115 116 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 114 def campo_livre "#{self.numero_documento}#{self.agencia}#{self.convenio}" end |
#carteira ⇒ Object
28 29 30 31 32 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 28 def carteira # Em caso de número, formatar para sigla return CARTEIRAS[self.valor_carteira] if self.valor_carteira.is_number? self.valor_carteira end |
#codigo_barras ⇒ Object
87 88 89 90 91 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 87 def codigo = super() raise Brcobranca::BoletoInvalido.new unless codigo codigo end |
#codigo_barras_primeira_parte ⇒ Object
93 94 95 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 93 def "#{self.banco}#{self.moeda}#{self.fator_vencimento}#{valor_documento_formatado}" end |
#codigo_barras_segunda_parte ⇒ Object
97 98 99 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 97 def self.campo_livre end |
#fator_vencimento ⇒ Object
17 18 19 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 17 def fator_vencimento self.data_vencimento.fator_vencimento.to_s.rjust(4,'0') end |
#monta_codigo_43_digitos ⇒ Object
83 84 85 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 83 def monta_codigo_43_digitos "#{}#{}" end |
#nosso_numero_boleto ⇒ String
Nosso número para exibir no boleto. (numero_documento + nosso_numero_dv) boleto.nosso_numero_boleto #=> “12345678904”
79 80 81 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 79 def nosso_numero_boleto "#{self.numero_documento}#{self.nosso_numero_dv}" end |
#nosso_numero_dv ⇒ String
Dígito verificador do nosso número.
70 71 72 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 70 def nosso_numero_dv self.numero_documento.modulo11_2to9 end |
#numero_documento ⇒ Object
Número seqüencial utilizado para identificar o boleto. Carteira 14 - SR - Cobranca sem Registro: Fixo 2 mais 8 dígitos (ex: 8200000001)
58 59 60 61 62 63 64 65 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 58 def numero_documento case self.carteira when 'SR' "82#{@numero_documento.to_s.rjust(8, '0')}" else raise Brcobranca::NaoImplementado.new("Tipo de convênio não implementado.") end end |
#valor_carteira ⇒ Object
27 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 27 alias :valor_carteira :carteira |
#valor_documento_formatado ⇒ String
Valor total do documento
23 24 25 |
# File 'lib/brcobranca/boleto/banco_caixa.rb', line 23 def valor_documento_formatado self.valor_documento.limpa_valor_moeda.to_s.rjust(10,'0') end |