Class: BrBoleto::Conta::Caixa

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

Instance Attribute Summary collapse

Attributes inherited from Base

#agencia, #carteira, #conta_corrente, #convenio, #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

#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 Attribute Details

#valid_versao_aplicativo_requiredObject

Versão do aplicativo



17
18
19
# File 'lib/br_boleto/conta/caixa.rb', line 17

def valid_versao_aplicativo_required
  @valid_versao_aplicativo_required
end

#versao_aplicativoObject

versão do aplicativo da caixa



13
14
15
# File 'lib/br_boleto/conta/caixa.rb', line 13

def versao_aplicativo
  @versao_aplicativo
end

Instance Method Details

#agencia_codigo_cedenteString

Campo Agência / Código do Cedente



103
104
105
# File 'lib/br_boleto/conta/caixa.rb', line 103

def agencia_codigo_cedente
  "#{agencia} / #{codigo_cedente}-#{codigo_cedente_dv}"
end

#agencia_dvObject



56
57
58
59
60
# File 'lib/br_boleto/conta/caixa.rb', line 56

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

#carteira_formatadaString

Formata a carteira dependendo se ela é registrada ou não.

Para cobrança COM registro usar: RG Para Cobrança SEM registro usar: SR



81
82
83
84
85
86
87
# File 'lib/br_boleto/conta/caixa.rb', line 81

def carteira_formatada
  if carteira.in?(carteiras_com_registro)
    'RG'
  else
    'SR'
  end
end

#carteiras_com_registroArray

Retorna as carteiras com registro da Caixa Econômica Federal. Você pode sobrescrever esse método na subclasse caso exista mais carteiras com registro na Caixa Econômica Federal.



95
96
97
# File 'lib/br_boleto/conta/caixa.rb', line 95

def carteiras_com_registro
  %w(14)
end

#codigo_bancoObject



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

def codigo_banco
  '104'
end

#codigo_banco_dvObject

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



40
41
42
# File 'lib/br_boleto/conta/caixa.rb', line 40

def codigo_banco_dv
  '0'
end

#conta_corrente_dvObject



62
63
64
# File 'lib/br_boleto/conta/caixa.rb', line 62

def conta_corrente_dv
  @conta_corrente_dv ||= BrBoleto::Calculos::Modulo11FatorDe2a9RestoZero.new(conta_corrente).to_s
end

#convenio_dvObject



66
67
68
# File 'lib/br_boleto/conta/caixa.rb', line 66

def convenio_dv
  @convenio_dv ||= BrBoleto::Calculos::Modulo11FatorDe2a9RestoZero.new(convenio).to_s
end

#default_valuesObject



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/br_boleto/conta/caixa.rb', line 23

def default_values
  super.merge({
    carteira:                 '14', # Com registro
    valid_carteira_required:  true,         # <- Validação dinâmica que a modalidade é obrigatória
    valid_carteira_length:    2,            # <- Validação dinâmica que a modalidade deve ter 2 digitos
    valid_carteira_inclusion: %w[11 14 21], # <- Validação dinâmica de valores aceitos para a modalidade
    valid_convenio_required:  true,         # <- Validação que a convenio deve ter obrigatório
    valid_convenio_maximum:   6,            # <- Validação que a convenio deve ter no máximo 6 digitos
    versao_aplicativo:        '0',
  })
end

#nome_bancoObject



44
45
46
# File 'lib/br_boleto/conta/caixa.rb', line 44

def nome_banco
  @nome_banco ||= 'CAIXA ECONOMICA FEDERAL'
end

#versao_layout_arquivo_cnab_240Object



48
49
50
# File 'lib/br_boleto/conta/caixa.rb', line 48

def versao_layout_arquivo_cnab_240
  '050'
end

#versao_layout_lote_cnab_240Object



52
53
54
# File 'lib/br_boleto/conta/caixa.rb', line 52

def versao_layout_lote_cnab_240
  '030'
end