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.downcase]
end

#registrar_admissao(admissao:, inicio_de_afastamento:) ⇒ Object



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

def registrar_admissao(admissao:, inicio_de_afastamento:)
  contratos_por_matricula[admissao.matricula_do_trabalhador.downcase] =
    Contrato.new(admissao: admissao, inicio_de_afastamento: inicio_de_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.downcase]
    .registrar_alteracao_contratual(alteracao_contratual)
end