Class: Brcobranca::Boleto::Caixa

Inherits:
Base
  • Object
show all
Defined in:
lib/brcobranca/boleto/caixa.rb

Overview

Caixa Economica

Constant Summary collapse

CARTEIRAS =
{
  14 => 'SR' # Cobranca sem Registro
}

Instance Attribute Summary

Attributes inherited from 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

Methods inherited from Base

#agencia_dv, #codigo_barras, #conta_corrente_dv, #data_vencimento, #fator_vencimento, #logotipo, #valor_documento

Methods included from Template::Base

#define_template

Constructor Details

#initialize(campos = {}) ⇒ Caixa

Nova instancia da CaixaEconomica

Parameters:

  • campos (Hash) (defaults to: {})


14
15
16
17
# File 'lib/brcobranca/boleto/caixa.rb', line 14

def initialize(campos={})
  campos = {:carteira => CARTEIRAS[14]}.merge!(campos)
  super(campos)
end

Instance Method Details

#agencia_conta_boletoString

Número da agência/codigo_cedente do cliente para exibir no boleto.

Examples:

boleto.agencia_conta_boleto #=> "2391/44335511-5"

Returns:

  • (String)


41
42
43
# File 'lib/brcobranca/boleto/caixa.rb', line 41

def agencia_conta_boleto            
  "#{self.agencia}/#{self.conta_corrente}-#{self.conta_corrente_dv}"
end

#bancoString

Codigo do banco emissor (3 dígitos sempre)

Returns:

  • (String)

    3 caracteres numéricos.



29
30
31
# File 'lib/brcobranca/boleto/caixa.rb', line 29

def banco
  "104"
end

#banco_dvObject



33
34
35
# File 'lib/brcobranca/boleto/caixa.rb', line 33

def banco_dv
  self.banco.modulo10
end

#campo_livreObject

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



92
93
94
# File 'lib/brcobranca/boleto/caixa.rb', line 92

def campo_livre
  "#{self.numero_documento}#{self.agencia}#{self.convenio}"
end

#carteiraObject



20
21
22
23
24
# File 'lib/brcobranca/boleto/caixa.rb', line 20

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_segunda_parteObject



75
76
77
# File 'lib/brcobranca/boleto/caixa.rb', line 75

def codigo_barras_segunda_parte
  self.campo_livre
end

#nosso_numero_boletoString

Nosso número para exibir no boleto. (numero_documento + nosso_numero_dv)

Examples:

boleto.nosso_numero_boleto #=> "12345678904"

Returns:

  • (String)


71
72
73
# File 'lib/brcobranca/boleto/caixa.rb', line 71

def nosso_numero_boleto
  "#{self.numero_documento}#{self.nosso_numero_dv}"
end

#nosso_numero_dvString

Dígito verificador do nosso número.

Returns:

  • (String)

    1 caracteres numéricos.

See Also:



62
63
64
# File 'lib/brcobranca/boleto/caixa.rb', line 62

def nosso_numero_dv
  self.numero_documento.modulo11_2to9
end

#numero_documentoObject

Número seqüencial utilizado para identificar o boleto. Carteira 14 - SR - Cobranca sem Registro:

Fixo 2 mais 8 dígitos (ex: 8200000001)

Raises:



50
51
52
53
54
55
56
57
# File 'lib/brcobranca/boleto/caixa.rb', line 50

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_carteiraObject



19
# File 'lib/brcobranca/boleto/caixa.rb', line 19

alias :valor_carteira :carteira