Class: BrBoleto::Boleto::Sicoob

Inherits:
Base show all
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

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

#pagador, #pagador=

Methods included from HaveConta

#conta, #conta=

Methods inherited from ActiveModelBase

#assign_attributes, #initialize

Constructor Details

This class inherits a constructor from BrBoleto::ActiveModelBase

Instance Method Details

#codigo_de_barras_do_bancoString

Código de barras do banco

  ___________________________________________________________
 | Posi

Returns:

  • (String)


70
71
72
# File 'lib/br_boleto/boleto/sicoob.rb', line 70

def codigo_de_barras_do_banco
  "#{conta.carteira}#{conta.agencia}#{conta.modalidade}#{conta.codigo_cedente}#{conta.codigo_cedente_dv}#{nosso_numero.gsub('-','')}#{parcelas}"
end

#conta_classObject



12
13
14
# File 'lib/br_boleto/boleto/sicoob.rb', line 12

def conta_class
  BrBoleto::Conta::Sicoob
end

#default_valuesObject



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_numeroObject



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_numeroString

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.

Returns:

  • (String)


50
51
52
# File 'lib/br_boleto/boleto/sicoob.rb', line 50

def nosso_numero
  "#{numero_documento}-#{digito_verificador_nosso_numero}"
end

#valid_carteira_inclusionObject



24
25
26
# File 'lib/br_boleto/boleto/sicoob.rb', line 24

def valid_carteira_inclusion
  %w[1 3]
end

#valid_convenio_maximumObject

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_requiredObject

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_inclusionObject



20
21
22
# File 'lib/br_boleto/boleto/sicoob.rb', line 20

def valid_modalidade_inclusion
  %w{01 02 03}
end

#valid_numero_documento_maximumObject

VALIDAÇÕES DINÂMICAS #################



17
18
19
# File 'lib/br_boleto/boleto/sicoob.rb', line 17

def valid_numero_documento_maximum
  7
end