Class: Teodoro::Empresa::ContratosDeEmprego

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

Defined Under Namespace

Classes: Contrato

Instance Method Summary collapse

Instance Method Details

#*(cpf_do_trabalhador:, data:) ⇒ Object



29
30
31
32
33
# File 'lib/teodoro/empresa/contratos_de_emprego.rb', line 29

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

#[](matricula) ⇒ Object



25
26
27
# File 'lib/teodoro/empresa/contratos_de_emprego.rb', line 25

def [](matricula)
  contratos_por_matricula[matricula]
end

#registrar_admissao(admissao:, afastamento:) ⇒ Object



14
15
16
17
18
# File 'lib/teodoro/empresa/contratos_de_emprego.rb', line 14

def registrar_admissao(admissao:, afastamento:)
  contratos_por_matricula[admissao.matricula_do_trabalhador] =
    Contrato.new(admissao: admissao, afastamento: afastamento)
  trabalhadores << admissao.trabalhador
end

#registrar_alteracao_contratual(alteracao_contratual) ⇒ Object



20
21
22
23
# File 'lib/teodoro/empresa/contratos_de_emprego.rb', line 20

def registrar_alteracao_contratual(alteracao_contratual)
  contratos_por_matricula[alteracao_contratual.matricula_do_trabalhador]
    .registrar_alteracao_contratual(alteracao_contratual)
end

#remover(recibo) ⇒ Object



35
36
37
# File 'lib/teodoro/empresa/contratos_de_emprego.rb', line 35

def remover(recibo)
  contratos_por_matricula.delete_if { _2.recibo == recibo }
end