Class: Brcobranca::Remessa::Base

Inherits:
Object
  • Object
show all
Includes:
Validations
Defined in:
lib/brcobranca/remessa/base.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Validations

#errors, included, #invalid?, #valid?

Constructor Details

#initialize(campos = {}) {|_self| ... } ⇒ Base

Nova instancia da classe

Parameters:

  • campos (Hash) (defaults to: {})

Yields:

  • (_self)

Yield Parameters:



49
50
51
52
53
54
55
56
# File 'lib/brcobranca/remessa/base.rb', line 49

def initialize(campos = {})
  campos = { aceite: 'N' }.merge!(campos)
  campos.each do |campo, valor|
    send :"#{campo}=", valor
  end

  yield self if block_given?
end

Instance Attribute Details

#aceiteObject

aceite (A = ACEITO/N = NAO ACEITO)



21
22
23
# File 'lib/brcobranca/remessa/base.rb', line 21

def aceite
  @aceite
end

#agenciaObject

agencia (sem digito verificador)



11
12
13
# File 'lib/brcobranca/remessa/base.rb', line 11

def agencia
  @agencia
end

#carteiraObject

carteira do cedente



17
18
19
# File 'lib/brcobranca/remessa/base.rb', line 17

def carteira
  @carteira
end

#conta_correnteObject

numero da conta corrente



13
14
15
# File 'lib/brcobranca/remessa/base.rb', line 13

def conta_corrente
  @conta_corrente
end

#digito_contaObject

digito verificador da conta corrente



15
16
17
# File 'lib/brcobranca/remessa/base.rb', line 15

def digito_conta
  @digito_conta
end

#documento_cedenteObject

documento do cedente (CPF/CNPJ)



23
24
25
# File 'lib/brcobranca/remessa/base.rb', line 23

def documento_cedente
  @documento_cedente
end

#empresa_maeObject

empresa mae (razao social)



9
10
11
# File 'lib/brcobranca/remessa/base.rb', line 9

def empresa_mae
  @empresa_mae
end

#pagamentosObject

pagamentos da remessa (cada pagamento representa um registro detalhe no arquivo)



7
8
9
# File 'lib/brcobranca/remessa/base.rb', line 7

def pagamentos
  @pagamentos
end

#sequencial_remessaObject

sequencial remessa (num. sequencial que nao pode ser repetido nem zerado)



19
20
21
# File 'lib/brcobranca/remessa/base.rb', line 19

def sequencial_remessa
  @sequencial_remessa
end

Instance Method Details

#quantidade_titulos_cobrancaObject



58
59
60
# File 'lib/brcobranca/remessa/base.rb', line 58

def quantidade_titulos_cobranca
  pagamentos.length.to_s.rjust(6, '0')
end

#totaliza_valor_titulosObject



62
63
64
# File 'lib/brcobranca/remessa/base.rb', line 62

def totaliza_valor_titulos
  pagamentos.inject(0.0) { |sum, pagamento| sum + pagamento.valor.to_f }
end

#valor_titulos_carteira(tamanho = 17) ⇒ Object



66
67
68
69
# File 'lib/brcobranca/remessa/base.rb', line 66

def valor_titulos_carteira(tamanho = 17)
  total = format '%.2f', totaliza_valor_titulos
  total.somente_numeros.rjust(tamanho, '0')
end