Class: BrBoleto::Conta::Sicoob

Inherits:
Base show all
Defined in:
lib/br_boleto/conta/sicoob.rb

Instance Attribute Summary

Attributes inherited from Base

#agencia, #carteira, #conta_corrente, #convenio, #convenio_dv, #cpf_cnpj, #endereco, #modalidade, #razao_social, #valid_agencia_length, #valid_carteira_inclusion, #valid_carteira_length, #valid_carteira_maximum, #valid_carteira_minimum, #valid_carteira_required, #valid_conta_corrente_length, #valid_conta_corrente_maximum, #valid_conta_corrente_minimum, #valid_conta_corrente_required, #valid_convenio_inclusion, #valid_convenio_length, #valid_convenio_maximum, #valid_convenio_minimum, #valid_convenio_required, #valid_endereco_required, #valid_modalidade_inclusion, #valid_modalidade_length, #valid_modalidade_maximum, #valid_modalidade_minimum, #valid_modalidade_required

Instance Method Summary collapse

Methods inherited from Base

#agencia_codigo_cedente, #carteira_formatada, #codigo_banco_formatado, #cpf_cnpj_formatado, #cpf_cnpj_formatado_com_label, #tipo_cpf_cnpj

Methods included from Helper::DefaultCodes

#equivalent_especie_titulo, #get_especie_titulo

Methods inherited from ActiveModelBase

#assign_attributes, #initialize

Constructor Details

This class inherits a constructor from BrBoleto::ActiveModelBase

Instance Method Details

#agencia_dvObject



51
52
53
54
55
# File 'lib/br_boleto/conta/sicoob.rb', line 51

def agencia_dv
  # utilizando a agencia com 4 digitos
  # para calcular o digito
  @agencia_dv ||= BrBoleto::Calculos::Modulo11FatorDe2a9RestoZero.new(agencia).to_s
end

#codigo_bancoObject



30
31
32
# File 'lib/br_boleto/conta/sicoob.rb', line 30

def codigo_banco
  '756'
end

#codigo_banco_dvObject

Dígito do código do banco descrito na documentação



35
36
37
# File 'lib/br_boleto/conta/sicoob.rb', line 35

def codigo_banco_dv
  '0'
end

#conta_corrente_dvObject



57
58
59
60
61
# File 'lib/br_boleto/conta/sicoob.rb', line 57

def conta_corrente_dv
  # utilizando a conta corrente com 5 digitos
  # para calcular o digito
  @conta_corrente_dv ||= BrBoleto::Calculos::Modulo11FatorDe2a9RestoZero.new(conta_corrente).to_s
end

#default_valuesObject

MODALIDADE O banco siccob utiliza a combinação da carteira e modalidade para saber se é um pagamento com registro, sem registrou ou caucionada. Carteira / Modalidade = Tipo de pagamento

1     /    01       = Simples com Registro
1     /    02       = Simples sem Registro
3     /    03       = Garantia caicionada


14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/br_boleto/conta/sicoob.rb', line 14

def default_values
  super.merge({
    carteira:                '1', # Simples
    modalidade:              '01', # Com registro
    valid_modalidade_required:     true,         # <- Validação dinâmica que a modalidade é obrigatória
    valid_modalidade_length:       2,            # <- Validação dinâmica que a modalidade deve ter 2 digitos
    valid_modalidade_inclusion:    %w[01 02 03], # <- Validação dinâmica de valores aceitos para a modalidade
    valid_carteira_required:       true,    # <- Validação dinâmica que a carteira é obrigatória
    valid_carteira_length:         1,       # <- Validação dinâmica que a carteira deve ter 1 digito
    valid_carteira_inclusion:      %w[1 3], # <- Validação dinâmica de valores aceitos para a carteira
    valid_conta_corrente_required: true,    # <- Validação dinâmica que a conta_corrente é obrigatória
    valid_conta_corrente_maximum:  8,       # <- Validação que a conta_corrente deve ter no máximo 8 digitos
    valid_codigo_cedente_maximum:  6,       # <- Validação que a codigo_cedente/convênio deve ter no máximo 7 digitos
  })
end

#nome_bancoObject



39
40
41
# File 'lib/br_boleto/conta/sicoob.rb', line 39

def nome_banco
  @nome_banco ||= 'SICOOB'
end

#versao_layout_arquivo_cnab_240Object



43
44
45
# File 'lib/br_boleto/conta/sicoob.rb', line 43

def versao_layout_arquivo_cnab_240
  '081'
end

#versao_layout_lote_cnab_240Object



47
48
49
# File 'lib/br_boleto/conta/sicoob.rb', line 47

def versao_layout_lote_cnab_240
  '040'
end