class FmLayout::Nomina::Nomina

Public Class Methods

new() click to toggle source
# File lib/fm_layout/nomina/nomina.rb, line 11
def initialize
  @complemento_nomina = ComplementoNomina.new
  @percepciones =  []
  @deducciones =  []
  @incapacidades =  []
  @horas_extras =  []
end

Public Instance Methods

complemento_nomina() { |complemento_nomina| ... } click to toggle source
# File lib/fm_layout/nomina/nomina.rb, line 19
def complemento_nomina
  if block_given?
    yield(@complemento_nomina)
  else
    @complemento_nomina
  end
end
deduccion() { |deduccion| ... } click to toggle source
# File lib/fm_layout/nomina/nomina.rb, line 37
def deduccion
  deduccion = Deduccion.new
  if block_given?
    yield(deduccion)
    @deducciones << deduccion
  else
    deduccion
  end
end
horas_extra() { |horas_extra| ... } click to toggle source
# File lib/fm_layout/nomina/nomina.rb, line 57
def horas_extra
  horas_extra = HorasExtra.new
  if block_given?
    yield(horas_extra)
    @horas_extras << horas_extra
  else
    horas_extra
  end
end
incapacidad() { |incapacidad| ... } click to toggle source
# File lib/fm_layout/nomina/nomina.rb, line 47
def incapacidad
  incapacidad = Incapacidad.new
  if block_given?
    yield(incapacidad)
    @incapacidades << incapacidad
  else
    incapacidad
  end
end
percepcion() { |percepcion| ... } click to toggle source
# File lib/fm_layout/nomina/nomina.rb, line 27
def percepcion
  percepcion = Percepcion.new
  if block_given?
    yield(percepcion)
    @percepciones << percepcion
  else
    percepcion
  end
end
to_h() click to toggle source
# File lib/fm_layout/nomina/nomina.rb, line 68
def to_h
  { 'Nomina' => {}.merge( @complemento_nomina.to_h).merge(obtener_hash_percepciones).merge(obtener_hash_deducciones).merge(obtener_hash_incapacidades).merge(obtener_hash_horas_extra) }
end
to_s() click to toggle source
# File lib/fm_layout/nomina/nomina.rb, line 72
def to_s
  @complemento_nomina.to_s + @percepciones.map(&:to_s).inject(:+).to_s + @deducciones.map(&:to_s).inject(:+).to_s + @incapacidades.map(&:to_s).inject(:+).to_s + @horas_extras.map(&:to_s).inject(:+).to_s
end

Private Instance Methods

obtener_hash_deducciones() click to toggle source
# File lib/fm_layout/nomina/nomina.rb, line 82
def obtener_hash_deducciones
  { 'Deducciones' => @deducciones.map(&:to_h) }
end
obtener_hash_horas_extra() click to toggle source
# File lib/fm_layout/nomina/nomina.rb, line 90
def obtener_hash_horas_extra
  { 'InformacionHorasExtra' => @horas_extras.map(&:to_h) }
end
obtener_hash_incapacidades() click to toggle source
# File lib/fm_layout/nomina/nomina.rb, line 86
def obtener_hash_incapacidades
  { 'Incapacidades' => @incapacidades.map(&:to_h) }
end
obtener_hash_percepciones() click to toggle source
# File lib/fm_layout/nomina/nomina.rb, line 78
def obtener_hash_percepciones
  { 'Percepciones' => @percepciones.map(&:to_h) }
end