Class: Teodoro::Empresa::ContratosDeEmprego
- Inherits:
-
Object
- Object
- Teodoro::Empresa::ContratosDeEmprego
- Defined in:
- lib/teodoro/empresa/contratos_de_emprego.rb
Defined Under Namespace
Classes: Contrato
Instance Method Summary collapse
- #*(cpf_do_trabalhador:, data:) ⇒ Object
- #[](matricula) ⇒ Object
- #registrar_admissao(admissao:, inicio_de_afastamento:) ⇒ Object
- #registrar_alteracao_contratual(alteracao_contratual) ⇒ Object
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 |