Class: BrBoleto::Boleto::Sicredi
- Inherits:
-
Base
- Object
- ActiveModelBase
- Base
- BrBoleto::Boleto::Sicredi
- Defined in:
- lib/br_boleto/boleto/sicredi.rb
Instance Attribute Summary
Attributes inherited from Base
#aceite, #codigo_moeda, #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
- #ano ⇒ Object
-
#codigo_de_barras_do_banco ⇒ Object
Código de barras do banco.
- #codigo_dv(codigo) ⇒ Object
- #conta_class ⇒ Object
-
#default_values ⇒ Object
Conforme descrito na documentação, o valor que deve constar em local do pagamento é “PAGÁVEL PREFERENCIALMENTE NAS COOPERATIVAS DE CRÉDITO DO SICREDI”.
- #digito_verificador_nosso_numero ⇒ Object
-
#nosso_numero ⇒ Object
Nosso Número descrito na documentação (Pag. 84).
- #nosso_numero_codigo_de_barras ⇒ Object
- #valid_carteira_inclusion ⇒ Object
-
#valid_conta_corrente_maximum ⇒ Object
Tamanho máximo de uma conta corrente no Banco Sicredi.
-
#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_numero_documento_maximum ⇒ Object
VALIDAÇÕES DINÂMICAS #################.
- #valor_expresso ⇒ Object
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, #nosso_numero_retorno, #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
#ano ⇒ Object
57 58 59 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 57 def ano data_documento.strftime('%y') end |
#codigo_de_barras_do_banco ⇒ Object
Código de barras do banco
___________________________________________________________________________________________________
| Posi
77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 77 def campo_livre = "#{conta.carteira}" campo_livre << "#{conta.codigo_carteira}" campo_livre << "#{nosso_numero_codigo_de_barras}" campo_livre << "#{conta.agencia}" campo_livre << "#{conta.posto}" campo_livre << "#{conta.conta_corrente}" campo_livre << "#{valor_expresso}" campo_livre << "0" campo_livre << "#{codigo_dv(campo_livre)}" campo_livre end |
#codigo_dv(codigo) ⇒ Object
89 90 91 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 89 def codigo_dv(codigo) Modulo11FatorDe2a9RestoZero.new(codigo) end |
#conta_class ⇒ Object
7 8 9 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 7 def conta_class BrBoleto::Conta::Sicredi end |
#default_values ⇒ Object
Conforme descrito na documentação, o valor que deve constar em local do pagamento é “PAGÁVEL PREFERENCIALMENTE NAS COOPERATIVAS DE CRÉDITO DO SICREDI”
38 39 40 41 42 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 38 def default_values super.merge({ :local_pagamento => 'PAGÁVEL PREFERENCIALMENTE NAS COOPERATIVAS DE CRÉDITO DO SICREDI' }) end |
#digito_verificador_nosso_numero ⇒ Object
54 55 56 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 54 def digito_verificador_nosso_numero BrBoleto::Calculos::Modulo11FatorDe2a9RestoZero.new("#{conta.agencia}#{conta.posto}#{conta.conta_corrente}#{ano}#{conta.byte_id}#{numero_documento}") end |
#nosso_numero ⇒ Object
Nosso Número descrito na documentação (Pag. 84). O campo Nosso Número deve ser apresentado no formato AA/BXXXXX-D, onde: AA = Ano atual B = Byte que pode ser de 2 a 9. Somente será 1 se forem boletos pré-impressos. XXXXX = número sequencial D = dígito verificador calculado Exemplo: “14/200022-5”
51 52 53 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 51 def nosso_numero "#{ano}/#{conta.byte_id}#{numero_documento}-#{digito_verificador_nosso_numero}" end |
#nosso_numero_codigo_de_barras ⇒ Object
92 93 94 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 92 def "#{ano}#{conta.byte_id}#{numero_documento}#{digito_verificador_nosso_numero}" end |
#valid_carteira_inclusion ⇒ Object
16 17 18 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 16 def valid_carteira_inclusion %w[1 3] end |
#valid_conta_corrente_maximum ⇒ Object
Tamanho máximo de uma conta corrente no Banco Sicredi
26 27 28 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 26 def valid_conta_corrente_maximum 5 end |
#valid_convenio_maximum ⇒ Object
Tamanho máximo para o codigo_cedente/Convênio
21 22 23 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 21 def valid_convenio_maximum 5 end |
#valid_convenio_required ⇒ Object
codigo_cedente/Convênio deve ser obrigatório
31 32 33 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 31 def valid_convenio_required true end |
#valid_numero_documento_maximum ⇒ Object
VALIDAÇÕES DINÂMICAS #################
12 13 14 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 12 def valid_numero_documento_maximum 5 end |
#valor_expresso ⇒ Object
95 96 97 |
# File 'lib/br_boleto/boleto/sicredi.rb', line 95 def valor_expresso @valor_documento.present? ? '1' : '0' end |