Class: BrBoleto::Boleto::Sicoob
- Inherits:
-
Base
- Object
- ActiveModelBase
- Base
- BrBoleto::Boleto::Sicoob
- Defined in:
- lib/br_boleto/boleto/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.
Instance Attribute Summary
Attributes inherited from Base
#aceite, #codigo_moeda, #conta_corrente, #data_documento, #data_vencimento, #especie, #especie_documento, #instrucoes1, #instrucoes2, #instrucoes3, #instrucoes4, #instrucoes5, #instrucoes6, #local_pagamento, #logo, #numero_documento, #parcelas, #valor_documento
Instance Method Summary collapse
-
#codigo_de_barras_do_banco ⇒ String
Código de barras do banco.
- #conta_class ⇒ Object
- #default_values ⇒ Object
- #digito_verificador_nosso_numero ⇒ Object
-
#nosso_numero ⇒ String
O nosso número descrino na documentação é formado pelo numero do documento mais o digito verificador no nosso_numero, que é um cálculo descrito na documentação.
- #valid_carteira_inclusion ⇒ Object
-
#valid_convenio_maximum ⇒ Object
Tamanho máximo para o codigo_cedente/Convênio.
-
#valid_convenio_required ⇒ Object
codigo_cedente/Convênio deve ser obrigatório.
- #valid_modalidade_inclusion ⇒ Object
-
#valid_numero_documento_maximum ⇒ Object
VALIDAÇÕES DINÂMICAS #################.
Methods inherited from Base
#aceite_formatado, #codigo_de_barras, #codigo_de_barras_padrao, #data_vencimento_deve_ser_uma_data, #digito_codigo_de_barras, #fator_de_vencimento, #linha_digitavel, #persisted?, #to_partial_path, #valid_valor_documento_tamanho_maximo, #valor_formatado_para_codigo_de_barras
Methods included from HavePagador
Methods included from HaveConta
Methods inherited from ActiveModelBase
#assign_attributes, #initialize
Constructor Details
This class inherits a constructor from BrBoleto::ActiveModelBase
Instance Method Details
#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) |
|___________________________________________________________|
Tamanho total: 25
70 71 72 |
# File 'lib/br_boleto/boleto/sicoob.rb', line 70 def "#{conta.carteira}#{conta.agencia}#{conta.modalidade}#{conta.codigo_cedente}#{conta.codigo_cedente_dv}#{nosso_numero.gsub('-','')}#{parcelas}" end |
#conta_class ⇒ Object
12 13 14 |
# File 'lib/br_boleto/boleto/sicoob.rb', line 12 def conta_class BrBoleto::Conta::Sicoob end |
#default_values ⇒ Object
39 40 41 42 43 |
# File 'lib/br_boleto/boleto/sicoob.rb', line 39 def default_values super.merge({ local_pagamento: "PREFERENCIALMENTE COOPERATIVAS DA REDE SICOOB" }) end |
#digito_verificador_nosso_numero ⇒ Object
74 75 76 |
# File 'lib/br_boleto/boleto/sicoob.rb', line 74 def digito_verificador_nosso_numero BrBoleto::Calculos::Modulo11Fator3197.new("#{conta.agencia}#{conta.codigo_cedente.rjust(9, '0')}#{conta.codigo_cedente_dv}#{numero_documento}") end |
#nosso_numero ⇒ String
O nosso número descrino na documentação é formado pelo numero do documento mais o digito verificador no nosso_numero, que é um cálculo descrito na documentação.
50 51 52 |
# File 'lib/br_boleto/boleto/sicoob.rb', line 50 def nosso_numero "#{numero_documento}-#{digito_verificador_nosso_numero}" end |
#valid_carteira_inclusion ⇒ Object
24 25 26 |
# File 'lib/br_boleto/boleto/sicoob.rb', line 24 def valid_carteira_inclusion %w[1 3] end |
#valid_convenio_maximum ⇒ Object
Tamanho máximo para o codigo_cedente/Convênio
29 30 31 |
# File 'lib/br_boleto/boleto/sicoob.rb', line 29 def valid_convenio_maximum 6 end |
#valid_convenio_required ⇒ Object
codigo_cedente/Convênio deve ser obrigatório
34 35 36 |
# File 'lib/br_boleto/boleto/sicoob.rb', line 34 def valid_convenio_required true end |
#valid_modalidade_inclusion ⇒ Object
20 21 22 |
# File 'lib/br_boleto/boleto/sicoob.rb', line 20 def valid_modalidade_inclusion %w{01 02 03} end |
#valid_numero_documento_maximum ⇒ Object
VALIDAÇÕES DINÂMICAS #################
17 18 19 |
# File 'lib/br_boleto/boleto/sicoob.rb', line 17 def valid_numero_documento_maximum 7 end |