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:



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

#aceite ⇒ Object

aceite (A = ACEITO/N = NAO ACEITO)



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

def aceite
  @aceite
end

#agencia ⇒ Object

agencia (sem digito verificador)



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

def agencia
  @agencia
end

#carteira ⇒ Object

carteira do cedente



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

def carteira
  @carteira
end

#conta_corrente ⇒ Object

numero da conta corrente



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

def conta_corrente
  @conta_corrente
end

#digito_conta ⇒ Object

digito verificador da conta corrente



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

def digito_conta
  @digito_conta
end

#documento_cedente ⇒ Object

documento do cedente (CPF/CNPJ)



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

def documento_cedente
  @documento_cedente
end

#empresa_mae ⇒ Object

empresa mae (razao social)



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

def empresa_mae
  @empresa_mae
end

#pagamentos ⇒ Object

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_remessa ⇒ Object

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_cobranca ⇒ Object



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_titulos ⇒ Object



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



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