Class: Teodoro::Empresa::ContratosDeTrabalhoSemVinculo
- Inherits:
-
Object
- Object
- Teodoro::Empresa::ContratosDeTrabalhoSemVinculo
- Defined in:
- lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb
Defined Under Namespace
Classes: Contrato
Instance Method Summary collapse
- #*(cpf_do_trabalhador:, data:) ⇒ Object
- #[](cpf_do_trabalhador:, matricula_do_trabalhador:, categoria_do_trabalhador:, data:) ⇒ Object
- #registrar_inicio_de_contrato(inicio_de_contrato:, inicio_de_afastamento:) ⇒ Object
Instance Method Details
#*(cpf_do_trabalhador:, data:) ⇒ Object
31 32 33 34 35 |
# File 'lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb', line 31 def *(cpf_do_trabalhador:, data:) contratos .select { _1.trabalhador.cpf == cpf_do_trabalhador && _1.ativo?(data) } .sort_by(&:data_de_inicio) end |
#[](cpf_do_trabalhador:, matricula_do_trabalhador:, categoria_do_trabalhador:, data:) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb', line 19 def [](cpf_do_trabalhador:, matricula_do_trabalhador:, categoria_do_trabalhador:, data:) return contratos.find { _1.matricula_do_trabalhador == matricula_do_trabalhador } if matricula_do_trabalhador contratos .select do |contrato| contrato.trabalhador.cpf == cpf_do_trabalhador && contrato.categoria_do_trabalhador == categoria_do_trabalhador && contrato.ativo?(data) end .max_by(&:data_de_inicio) end |
#registrar_inicio_de_contrato(inicio_de_contrato:, inicio_de_afastamento:) ⇒ Object
14 15 16 17 |
# File 'lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb', line 14 def registrar_inicio_de_contrato(inicio_de_contrato:, inicio_de_afastamento:) contratos << Contrato.new(inicio_de_contrato: inicio_de_contrato, inicio_de_afastamento: inicio_de_afastamento) trabalhadores << inicio_de_contrato.trabalhador end |