Class: Teodoro::Empresa::Impl::ContratosDeTrabalhoSemVinculo

Inherits:
Object
  • Object
show all
Defined in:
lib/teodoro/empresa.rb

Defined Under Namespace

Classes: Contrato

Instance Method Summary collapse

Instance Method Details

#*(cpf_do_trabalhador:, data:) ⇒ Object



228
229
230
231
232
# File 'lib/teodoro/empresa.rb', line 228

def *(cpf_do_trabalhador:, data:)
  contratos
    .select { _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.ativo?(data) }
    .sort_by(&:data_de_inicio)
end

#[](cpf_do_trabalhador:, categoria_do_trabalhador:, data:) ⇒ Object



219
220
221
222
223
224
225
226
# File 'lib/teodoro/empresa.rb', line 219

def [](cpf_do_trabalhador:, categoria_do_trabalhador:, data:)
  contratos
    .select {
      _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.categoria_do_trabalhador == categoria_do_trabalhador &&
        _1.ativo?(data)
    }
    .max_by(&:data_de_inicio)
end

#registrar_inicio_de_contrato(inicio_de_contrato:, afastamento:) ⇒ Object



215
216
217
# File 'lib/teodoro/empresa.rb', line 215

def registrar_inicio_de_contrato(inicio_de_contrato:, afastamento:)
  contratos << Contrato.new(inicio_de_contrato: inicio_de_contrato, afastamento: afastamento)
end

#remover(recibo) ⇒ Object



234
235
236
# File 'lib/teodoro/empresa.rb', line 234

def remover(recibo)
  contratos.delete_if { _1.recibo == recibo }
end