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:, categoria_do_trabalhador:, data:) ⇒ Object
- #registrar_inicio_de_contrato(inicio_de_contrato:, afastamento:) ⇒ Object
- #remover(recibo) ⇒ Object
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 |