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
28 29 30 31 32 |
# File 'lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb', line 28 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:, categoria_do_trabalhador:, data:) ⇒ Object
19 20 21 22 23 24 25 26 |
# File 'lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb', line 19 def [](cpf_do_trabalhador:, categoria_do_trabalhador:, data:) contratos .select { _1.trabalhador.cpf == 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
14 15 16 17 |
# File 'lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb', line 14 def registrar_inicio_de_contrato(inicio_de_contrato:, afastamento:) contratos << Contrato.new(inicio_de_contrato: inicio_de_contrato, afastamento: afastamento) trabalhadores << inicio_de_contrato.trabalhador end |
#remover(recibo) ⇒ Object
34 35 36 |
# File 'lib/teodoro/empresa/contratos_de_trabalho_sem_vinculo.rb', line 34 def remover(recibo) contratos.delete_if { _1.recibo == recibo } end |