Class: Teodoro::Empresa::ContratosDeTrabalhoSemVinculo

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

Defined Under Namespace

Classes: Contrato

Instance Method Summary collapse

Instance Method Details

#*(cpf_do_trabalhador:, data:) ⇒ Object



17
18
19
20
21
# File 'lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb', line 17

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



8
9
10
11
12
13
14
15
# File 'lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb', line 8

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



4
5
6
# File 'lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb', line 4

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

#remover(recibo) ⇒ Object



23
24
25
# File 'lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb', line 23

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