Class: BoletoBancario::Core::Sicoob
- Defined in:
- lib/boleto_bancario/core/sicoob.rb
Overview
Implementação de emissão de boleto bancário pelo Banco Sicoob.
Documentação Implementada
A documentação na qual essa implementação foi baseada está localizada na pasta ‘documentacoes_dos_boletos/sicoob’ dentro dessa biblioteca.
Código da Carteira
'1' - Cobrança SEM registro
'9' - Cobrança COM registro
Instance Attribute Summary
Attributes inherited from Boleto
#aceite, #carteira, #cedente, #codigo_moeda, #conta_corrente, #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 Sicoob.
-
.tamanho_maximo_codigo_cedente ⇒ Fixnum
Tamanho máximo do codigo cedente no Banco Sicoob.
-
.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 do Cedente.
-
#ano ⇒ String
Ano atual usado para os calculos.
-
#codigo_banco ⇒ String
Código do Banco descrito na documentação.
-
#codigo_cedente ⇒ String
7 caracteres.
-
#codigo_de_barras_do_banco ⇒ String
Código de barras do banco.
-
#digito_codigo_banco ⇒ String
Dígito do código do banco descrito na documentação.
- #modalidade_cobranca ⇒ Object
-
#nosso_numero ⇒ String
O nosso número descrino na documentação é formado pelo dois ultimos digitos do ano autal e por outros 6 digitos que o clinte usara para numerar os documentos, assim sendo composto por 8 dígitos.
-
#numero_documento ⇒ String
6 caracteres.
- #parcelas ⇒ Object
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.
50 51 52 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 50 def self.carteiras_suportadas %w[1 9] end |
.tamanho_maximo_agencia ⇒ Fixnum
Tamanho máximo de uma agência no Banco Sicoob. Método criado justamente para ficar documentado o tamanho máximo aceito até a data corrente.
22 23 24 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 22 def self.tamanho_maximo_agencia 4 end |
.tamanho_maximo_codigo_cedente ⇒ Fixnum
Tamanho máximo do codigo cedente no Banco Sicoob. Método criado justamente para ficar documentado o tamanho máximo aceito até a data corrente.
31 32 33 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 31 def self.tamanho_maximo_codigo_cedente 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.
40 41 42 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 40 def self.tamanho_maximo_numero_documento 6 end |
Instance Method Details
#agencia ⇒ String
Returns 4 caracteres.
91 92 93 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 91 def agencia @agencia.to_s.rjust(4, '0') if @agencia.present? end |
#agencia_codigo_cedente ⇒ String
Campo Agência / Código do Cedente
123 124 125 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 123 def agencia_codigo_cedente "#{agencia} / #{codigo_cedente}" end |
#ano ⇒ String
Ano atual usado para os calculos
140 141 142 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 140 def ano Date.today.strftime('%y') end |
#codigo_banco ⇒ String
Returns Código do Banco descrito na documentação.
109 110 111 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 109 def codigo_banco '756' end |
#codigo_cedente ⇒ String
Returns 7 caracteres.
97 98 99 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 97 def codigo_cedente @codigo_cedente.to_s.rjust(7, '0') if @codigo_cedente.present? end |
#codigo_de_barras_do_banco ⇒ String
Código de barras do banco
___________________________________________________________
| Posição | Tamanho | Descrição |
|---------|---------|---------------------------------------|
| 20 - 20 | 01 | Código da carteira |
| 21 - 24 | 04 | Código da agência |
| 25 - 26 | 02 | Código da modalidade de cobrança (01) |
| 27 - 33 | 07 | Código do Cedente |
| 34 - 41 | 08 | Nosso Número do título |
| 42 - 44 | 03 | Número da Parcela do Título (001) |
|___________________________________________________________|
159 160 161 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 159 def "#{carteira}#{agencia}#{modalidade_cobranca}#{codigo_cedente}#{nosso_numero}#{parcelas}" end |
#digito_codigo_banco ⇒ String
Returns Dígito do código do banco descrito na documentação.
115 116 117 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 115 def digito_codigo_banco '0' end |
#modalidade_cobranca ⇒ Object
163 164 165 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 163 def modalidade_cobranca '01' end |
#nosso_numero ⇒ String
O nosso número descrino na documentação é formado pelo dois ultimos digitos do ano autal e por outros 6 digitos que o clinte usara para numerar os documentos, assim sendo composto por 8 dígitos.
132 133 134 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 132 def nosso_numero "#{ano}#{numero_documento}" end |
#numero_documento ⇒ String
Returns 6 caracteres.
103 104 105 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 103 def numero_documento @numero_documento.to_s.rjust(6, '0') if @numero_documento.present? end |
#parcelas ⇒ Object
167 168 169 |
# File 'lib/boleto_bancario/core/sicoob.rb', line 167 def parcelas '001' end |