Class: Brcobranca::Boleto::Banestes

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

Overview

Banestes

Instance Attribute Summary collapse

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

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

Methods included from Template::Base

#define_template

Methods included from Validations

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

Constructor Details

#initialize(campos = {}) ⇒ Banestes

Returns a new instance of Banestes.


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

def initialize(campos = {})
  campos = { carteira: '11', variacao: '2' }.merge!(campos)
  super(campos)
end

Instance Attribute Details

#digito_conta_correnteObject

REQUERIDO: digito verificador da conta corrente


7
8
9
# File 'lib/brcobranca/boleto/banestes.rb', line 7

def digito_conta_corrente
  @digito_conta_corrente
end

Instance Method Details

#agencia=(valor) ⇒ String

Agência

Returns:

  • (String)

    4 caracteres numéricos.


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

def agencia=(valor)
  @agencia = valor.to_s.rjust(4, '0') if valor
end

#agencia_conta_boletoObject


70
71
72
# File 'lib/brcobranca/boleto/banestes.rb', line 70

def agencia_conta_boleto
  "#{agencia.to_i} / #{conta_corrente.to_i}#{digito_conta_corrente}"
end

#bancoString

Codigo do banco emissor (3 dígitos sempre)

Returns:

  • (String)

    3 caracteres numéricos.


24
25
26
# File 'lib/brcobranca/boleto/banestes.rb', line 24

def banco
  '021'
end

#banco_dvString

Dígito verificador do banco

Returns:

  • (String)

    1 caractere.


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

def banco_dv
  '3'
end

#codigo_barras_segunda_parteObject

Nosso Numero 'N' | Nosso número sem os dígitos | 08 Conta corrente 'C' | No da conta corrente com DV | 11 Tipo Cobranca 'R' | (2) Sem registro - (3) Caucionada - (4, 5, 6 e 7) Com registro | 01 Codigo do banco cedente | Código do BANESTES '021' | 03 Digitos | Dígitos verificadores | 02


79
80
81
82
# File 'lib/brcobranca/boleto/banestes.rb', line 79

def codigo_barras_segunda_parte
  campo_livre = "#{nosso_numero}#{conta_corrente}#{digito_conta_corrente}#{variacao}021"
  campo_livre + campo_livre.duplo_digito
end

#conta_corrente=(valor) ⇒ String

Conta

Returns:

  • (String)

    7 caracteres numéricos.


45
46
47
# File 'lib/brcobranca/boleto/banestes.rb', line 45

def conta_corrente=(valor)
  @conta_corrente = valor.to_s.rjust(10, '0') if valor
end

#nosso_numero=(valor) ⇒ String

Número documento

Returns:

  • (String)

    8 caracteres numéricos.


52
53
54
# File 'lib/brcobranca/boleto/banestes.rb', line 52

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

#nosso_numero_boletoString

Nosso número para exibição no boleto.

Returns:

  • (String)

    caracteres numéricos.


59
60
61
# File 'lib/brcobranca/boleto/banestes.rb', line 59

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

#nosso_numero_dvObject


63
64
65
66
67
68
# File 'lib/brcobranca/boleto/banestes.rb', line 63

def nosso_numero_dv
  numero_dv_1 = nosso_numero.modulo11(mapeamento: { 10 => 0, 11 => 0 })
  numero_dv_2 = "#{nosso_numero}#{numero_dv_1}".modulo11(mapeamento: { 10 => 0, 11 => 0 })

  "#{numero_dv_1}#{numero_dv_2}"
end