Class: Teodoro::Empresa::Impl::ContratosDeTrabalhoSemVinculo
- Inherits:
-
Object
- Object
- Teodoro::Empresa::Impl::ContratosDeTrabalhoSemVinculo
- Defined in:
- lib/teodoro/empresa.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
228 229 230 231 232 |
# File 'lib/teodoro/empresa.rb', line 228 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
219 220 221 222 223 224 225 226 |
# File 'lib/teodoro/empresa.rb', line 219 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
215 216 217 |
# File 'lib/teodoro/empresa.rb', line 215 def registrar_inicio_de_contrato(inicio_de_contrato:, afastamento:) contratos << Contrato.new(inicio_de_contrato: inicio_de_contrato, afastamento: afastamento) end |
#remover(recibo) ⇒ Object
234 235 236 |
# File 'lib/teodoro/empresa.rb', line 234 def remover(recibo) contratos.delete_if { _1.recibo == recibo } end |