Class: BoletoBancario::Core::Real

Inherits:
Boleto
  • Object
show all
Defined in:
lib/boleto_bancario/core/real.rb

Overview

Implementação de emissão de boleto bancário pelo Banco Real.

Documentação Implementada

A documentação na qual essa implementação foi baseada está localizada na pasta ‘documentacoes_dos_boletos/real’ dentro dessa biblioteca.

Cobrança sem registro:

Nosso n

Código da Carteira

'00' - Carteira do conv

Instance Attribute Summary

Attributes inherited from Boleto

#aceite, #cedente, #codigo_cedente, #codigo_moeda, #data_documento, #data_vencimento, #documento_cedente, #documento_sacado, #endereco_cedente, #endereco_sacado, #especie, #especie_documento, #instrucoes1, #instrucoes2, #instrucoes3, #instrucoes4, #instrucoes5, #instrucoes6, #local_pagamento, #logo, #sacado, #valor_documento

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Boleto

#aceite_formatado, #carteira_formatada, #codigo_banco_formatado, #codigo_de_barras, #codigo_de_barras_padrao, #data_vencimento_deve_ser_uma_data, #default_options, #deve_validar_agencia?, #deve_validar_carteira?, #deve_validar_codigo_cedente?, #deve_validar_conta_corrente?, #deve_validar_numero_documento?, #digito_codigo_de_barras, #fator_de_vencimento, #initialize, #linha_digitavel, #persisted?, #to_partial_path, valor_documento_tamanho_maximo, #valor_formatado_para_codigo_de_barras

Constructor Details

This class inherits a constructor from BoletoBancario::Core::Boleto

Class Method Details

.carteiras_suportadasArray

Carteiras suportadas.

Método criado para validar se a carteira informada é suportada.



59
60
61
# File 'lib/boleto_bancario/core/real.rb', line 59

def self.carteiras_suportadas
  %w[00 20 31 42 47 85]
end

.tamanho_maximo_agenciaFixnum

Tamanho máximo de uma agência no Banco Real. Método criado justamente para ficar documentado o tamanho máximo aceito até a data corrente.



31
32
33
# File 'lib/boleto_bancario/core/real.rb', line 31

def self.tamanho_maximo_agencia
  4
end

.tamanho_maximo_conta_correnteFixnum

Tamanho máximo da conta corrente no Boleto. Método criado justamente para ficar documentado o tamanho máximo aceito até a data corrente.



40
41
42
# File 'lib/boleto_bancario/core/real.rb', line 40

def self.tamanho_maximo_conta_corrente
  7
end

.tamanho_maximo_numero_documentoFixnum

Tamanho máximo do numero do documento no Boleto. Método criado justamente para ficar documentado o tamanho máximo aceito até a data corrente.



49
50
51
# File 'lib/boleto_bancario/core/real.rb', line 49

def self.tamanho_maximo_numero_documento
  13
end

Instance Method Details

#agenciaString



100
101
102
# File 'lib/boleto_bancario/core/real.rb', line 100

def agencia
  @agencia.to_s.rjust(4, '0') if @agencia.present?
end

#agencia_codigo_cedenteString

Campo Agência/Código Cedente



138
139
140
# File 'lib/boleto_bancario/core/real.rb', line 138

def agencia_codigo_cedente
  "#{agencia}/#{conta_corrente}/#{cobranca_dv}"
end

#carteiraString



118
119
120
# File 'lib/boleto_bancario/core/real.rb', line 118

def carteira
  @carteira.to_s.rjust(2, '0') if @carteira.present?
end

#cobranca_dvString

Cálculo do Digito verificador da Cobrança

Nosso N


148
149
150
# File 'lib/boleto_bancario/core/real.rb', line 148

def cobranca_dv
  Modulo10.new("#{nosso_numero}#{agencia}#{conta_corrente}")
end

#codigo_bancoString



124
125
126
# File 'lib/boleto_bancario/core/real.rb', line 124

def codigo_banco
  '356'
end

#codigo_de_barras_do_bancoString

Código de barras do banco

 ____________________________________________________
| Posi


172
173
174
# File 'lib/boleto_bancario/core/real.rb', line 172

def codigo_de_barras_do_banco
  "#{agencia}#{conta_corrente}#{cobranca_dv}#{nosso_numero}"
end

#conta_correnteString



106
107
108
# File 'lib/boleto_bancario/core/real.rb', line 106

def conta_corrente
  @conta_corrente.to_s.rjust(7, '0') if @conta_corrente.present?
end

#digito_codigo_bancoString



130
131
132
# File 'lib/boleto_bancario/core/real.rb', line 130

def digito_codigo_banco
  '5'
end

#nosso_numeroString

O nosso numero é o mesmo numero que o cliente informa para o numero do documento



156
157
158
# File 'lib/boleto_bancario/core/real.rb', line 156

def nosso_numero
  "#{numero_documento}"
end

#numero_documentoString



112
113
114
# File 'lib/boleto_bancario/core/real.rb', line 112

def numero_documento
  @numero_documento.to_s.rjust(13, '0') if @numero_documento.present?
end