Class: Brcobranca::Remessa::Base

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

Constant Summary collapse

PAYMENT_CLASSES =
[
  Brcobranca::Remessa::Pagamento,
  Brcobranca::Remessa::PagamentoPix
].freeze

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:

[View source]

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

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

[View source]

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

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

#totaliza_valor_titulosObject

[View source]

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

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

#valor_titulos_carteira(tamanho = 17) ⇒ Object

[View source]

71
72
73
74
# File 'lib/brcobranca/remessa/base.rb', line 71

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