Class: Brcobranca::Boleto::Real

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

Overview

Banco REAL

Instance Attribute Summary

Attributes inherited from Base

#aceite, #agencia, #carteira, #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, #banco_dv, #codigo_barras, #conta_corrente_dv, #data_vencimento, #fator_vencimento, #logotipo, #nosso_numero_dv, #valor_documento

Methods included from Template::Base

#define_template

Constructor Details

#initialize(campos = {}) ⇒ Real

Nova instancia do Real

Parameters:

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


16
17
18
19
# File 'lib/brcobranca/boleto/real.rb', line 16

def initialize(campos={})
  campos = {:carteira => "57"}.merge!(campos)
  super(campos)
end

Instance Method Details

#agencia_conta_boletoString

Número do convênio/contrato do cliente para exibir no boleto.

Examples:

boleto.agencia_conta_boleto #=> "0548-7 / 0001448-6"

Returns:

  • (String)


48
49
50
# File 'lib/brcobranca/boleto/real.rb', line 48

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

#agencia_conta_corrente_nosso_numero_dvString

Dígito verificador do nosso número.

Returns:

  • (String)

    1 caracteres numéricos.



54
55
56
# File 'lib/brcobranca/boleto/real.rb', line 54

def agencia_conta_corrente_nosso_numero_dv
  "#{self.numero_documento}#{self.agencia}#{self.conta_corrente}".modulo10
end

#bancoObject

Codigo do banco emissor (3 dígitos sempre)



22
23
24
# File 'lib/brcobranca/boleto/real.rb', line 22

def banco
  "356"
end

#codigo_barras_segunda_parteString

Segunda parte do código de barras.

Montagem é baseada no tipo de carteira, com registro e sem registro(57)

Returns:

  • (String)

    25 caracteres numéricos.



63
64
65
66
67
68
69
70
71
# File 'lib/brcobranca/boleto/real.rb', line 63

def codigo_barras_segunda_parte
  case self.carteira.to_i
  when 57
    "#{self.agencia}#{self.conta_corrente}#{self.agencia_conta_corrente_nosso_numero_dv}#{self.numero_documento}"
  else
    # TODO verificar com o banco, pois não consta na documentação
    "000000#{self.agencia}#{self.conta_corrente}#{self.agencia_conta_corrente_nosso_numero_dv}#{self.numero_documento}"
  end
end

#nosso_numero_boletoString

Nosso número para exibir no boleto.

Examples:

boleto.nosso_numero_boleto #=> "4000403005-6"

Returns:

  • (String)


40
41
42
# File 'lib/brcobranca/boleto/real.rb', line 40

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

#numero_documentoString

Número seqüencial utilizado para identificar o boleto.

NUMERO DO BANCO : COM 7 DIGITOS P/ COBRANCA REGISTRADA e ATE 13 DIGITOS P/ COBRANCA SEM REGISTRO

Returns:

  • (String)

    7 ou 13 caracteres numéricos.



31
32
33
34
# File 'lib/brcobranca/boleto/real.rb', line 31

def numero_documento
  quantidade = (self.carteira.to_i == 57) ? 13 : 7
  @numero_documento.to_s.rjust(quantidade,'0')
end