Class: BoletoBancario::Core::Real
- 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úmero: 13 dígitos
Código da Agência: 4 dígitos
Número da Conta: 7 dígitos
Código da Carteira
'00' - Carteira do convênio
'20' - Cobrança Simples
'31' - Cobrança Câmbio
'42' - Cobrança Caucionada
'47' - Cobr. Caucionada Crédito Imobiliário
'85' - Cobrança Partilhada
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
-
.carteiras_suportadas ⇒ Array
Carteiras suportadas..
-
.tamanho_maximo_agencia ⇒ Fixnum
Tamanho máximo de uma agência no Banco Real.
-
.tamanho_maximo_conta_corrente ⇒ Fixnum
Tamanho máximo da conta corrente no Boleto.
-
.tamanho_maximo_numero_documento ⇒ Fixnum
Tamanho máximo do numero do documento no Boleto.
Instance Method Summary collapse
-
#agencia ⇒ String
4 caracteres.
-
#agencia_codigo_cedente ⇒ String
Campo Agência/Código Cedente.
-
#carteira ⇒ String
2 caracteres.
-
#cobranca_dv ⇒ String
Cálculo do Digito verificador da Cobrança Nosso Número + Agência + Conta Corrente Calculado atravez do modulo 10.
-
#codigo_banco ⇒ String
Código do Banco descrito na documentação.
-
#codigo_de_barras_do_banco ⇒ String
Código de barras do banco __ | Posição | Tamanho | Descrição | |———|———|——————————–| | 20 – 23 | 04 | Agencia | | 24 – 30 | 07 | Conta corrente | | 31 – 31 | 01 | Digito verificador da cobrança | | 32 – 44 | 13 | Nosso numero | |__|.
-
#conta_corrente ⇒ String
7 caracteres.
-
#digito_codigo_banco ⇒ String
Dígito do código do banco descrito na documentação.
-
#nosso_numero ⇒ String
O nosso numero é o mesmo numero que o cliente informa para o numero do documento.
-
#numero_documento ⇒ String
13 caracteres.
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_suportadas ⇒ Array
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_agencia ⇒ Fixnum
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_corrente ⇒ Fixnum
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_documento ⇒ Fixnum
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
#agencia ⇒ String
Returns 4 caracteres.
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_cedente ⇒ String
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 |
#carteira ⇒ String
Returns 2 caracteres.
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_dv ⇒ String
Cálculo do Digito verificador da Cobrança
Nosso Número + Agência + Conta Corrente
Calculado atravez do modulo 10
148 149 150 |
# File 'lib/boleto_bancario/core/real.rb', line 148 def cobranca_dv Modulo10.new("#{nosso_numero}#{agencia}#{conta_corrente}") end |
#codigo_banco ⇒ String
Returns Código do Banco descrito na documentação.
124 125 126 |
# File 'lib/boleto_bancario/core/real.rb', line 124 def codigo_banco '356' end |
#codigo_de_barras_do_banco ⇒ String
Código de barras do banco
____________________________________________________
| Posição | Tamanho | Descrição |
|---------|---------|--------------------------------|
| 20 – 23 | 04 | Agencia |
| 24 – 30 | 07 | Conta corrente |
| 31 – 31 | 01 | Digito verificador da cobrança |
| 32 – 44 | 13 | Nosso numero |
|____________________________________________________|
172 173 174 |
# File 'lib/boleto_bancario/core/real.rb', line 172 def "#{agencia}#{conta_corrente}#{cobranca_dv}#{nosso_numero}" end |
#conta_corrente ⇒ String
Returns 7 caracteres.
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_banco ⇒ String
Returns Dígito do código do banco descrito na documentação.
130 131 132 |
# File 'lib/boleto_bancario/core/real.rb', line 130 def digito_codigo_banco '5' end |
#nosso_numero ⇒ String
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_documento ⇒ String
Returns 13 caracteres.
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 |