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:


52
53
54
55
56
57
58
59
# File 'lib/brcobranca/remessa/base.rb', line 52

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)


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

def aceite
  @aceite
end

#agenciaObject

agencia (sem digito verificador)


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

def agencia
  @agencia
end

#carteiraObject

carteira do cedente


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

def carteira
  @carteira
end

#conta_correnteObject

numero da conta corrente


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

def conta_corrente
  @conta_corrente
end

#digito_contaObject

digito verificador da conta corrente


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

def digito_conta
  @digito_conta
end

#documento_cedenteObject

documento do cedente (CPF/CNPJ)


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

def documento_cedente
  @documento_cedente
end

#empresa_maeObject

empresa mae (razao social)


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

def empresa_mae
  @empresa_mae
end

#pagamentosObject

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


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

def pagamentos
  @pagamentos
end

#sequencial_remessaObject

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


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

def sequencial_remessa
  @sequencial_remessa
end

Instance Method Details

#quantidade_titulos_cobrancaObject


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

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

#totaliza_valor_titulosObject


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

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

#valor_titulos_carteira(tamanho = 17) ⇒ Object


69
70
71
72
# File 'lib/brcobranca/remessa/base.rb', line 69

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