Class: Brcobranca::Boleto::Bradesco

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

Overview

Banco BRADESCO

Instance Attribute Summary

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, #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

Methods inherited from Base

#banco_dv, #codigo_barras, #fator_vencimento, #logotipo, #valor_documento

Methods included from Template::Base

define_template

Methods included from Validations

#errors, included, #invalid?, #valid?

Constructor Details

#initialize(campos = {}) ⇒ Bradesco

Nova instancia do Bradesco

Parameters:

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


14
15
16
17
18
19
20
# File 'lib/brcobranca/boleto/bradesco.rb', line 14

def initialize(campos = {})
  campos = { carteira: '06' }.merge!(campos)

  campos[:local_pagamento] = 'Pagável preferencialmente na Rede Bradesco ou Bradesco Expresso'

  super(campos)
end

Instance Method Details

#agencia_conta_boletoString

Agência + conta corrente do cliente para exibir no boleto.

Examples:

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

Returns:

  • (String)


81
82
83
# File 'lib/brcobranca/boleto/bradesco.rb', line 81

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

#agencia_dvInteger

Dígito verificador da agência

Returns:

  • (Integer)

    1 caracteres numéricos.



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

def agencia_dv
  agencia.modulo11(
    multiplicador: [2, 3, 4, 5],
    mapeamento: { 10 => 'P', 11 => 0 }
  ) { |total| 11 - (total % 11) }
end

#bancoString

Codigo do banco emissor (3 dígitos sempre)

Returns:

  • (String)

    3 caracteres numéricos.



25
26
27
# File 'lib/brcobranca/boleto/bradesco.rb', line 25

def banco
  '237'
end

#carteira=(valor) ⇒ String

Carteira

Returns:

  • (String)

    2 caracteres numéricos.



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

def carteira=(valor)
  @carteira = valor.to_s.rjust(2, '0') if valor
end

#codigo_barras_segunda_parteString

Segunda parte do código de barras.

Posição | Tamanho | Conteúdo<br/> 20 a 23 | 4 | Agência Cedente (Sem o digito verificador, completar com zeros a esquerda quando necessário)<br/> 24 a 25 | 2 | Carteira<br/> 26 a 36 | 11 | Número do Nosso Número(Sem o digito verificador)<br/> 37 a 43 | 7 | Conta do Cedente (Sem o digito verificador, completar com zeros a esquerda quando necessário)<br/> 44 a 44 | 1 | Zero<br/>

Returns:

  • (String)

    25 caracteres numéricos.



95
96
97
# File 'lib/brcobranca/boleto/bradesco.rb', line 95

def codigo_barras_segunda_parte
  "#{agencia}#{carteira}#{nosso_numero}#{conta_corrente}0"
end

#conta_corrente_dvInteger

Dígito verificador da conta corrente

Returns:

  • (Integer)

    1 caracteres numéricos.



70
71
72
73
74
75
# File 'lib/brcobranca/boleto/bradesco.rb', line 70

def conta_corrente_dv
  conta_corrente.modulo11(
    multiplicador: [2, 3, 4, 5, 6, 7],
    mapeamento: { 10 => 'P', 11 => 0 }
  ) { |total| 11 - (total % 11) }
end

#nosso_numero=(valor) ⇒ String

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

Returns:

  • (String)

    11 caracteres numéricos.



38
39
40
# File 'lib/brcobranca/boleto/bradesco.rb', line 38

def nosso_numero=(valor)
  @nosso_numero = valor.to_s.rjust(11, '0') if valor
end

#nosso_numero_boletoString

Nosso número para exibir no boleto.

Examples:

boleto.nosso_numero_boleto #=> ""06/00000004042-8"

Returns:

  • (String)


46
47
48
# File 'lib/brcobranca/boleto/bradesco.rb', line 46

def nosso_numero_boleto
  "#{carteira}/#{nosso_numero}-#{nosso_numero_dv}"
end

#nosso_numero_dvInteger

Dígito verificador do nosso número

Returns:

  • (Integer)

    1 caracteres numéricos.



61
62
63
64
65
66
# File 'lib/brcobranca/boleto/bradesco.rb', line 61

def nosso_numero_dv
  "#{carteira}#{nosso_numero}".modulo11(
    multiplicador: [2, 3, 4, 5, 6, 7],
    mapeamento: { 10 => 'P', 11 => 0 }
  ) { |total| 11 - (total % 11) }
end