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:, afastamento:) ⇒ Object
- #registrar_alteracao_contratual(alteracao_contratual) ⇒ Object
- #remover(recibo) ⇒ 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] end |
#registrar_admissao(admissao:, afastamento:) ⇒ Object
14 15 16 17 18 |
# File 'lib/teodoro/empresa/contratos_de_emprego.rb', line 14 def registrar_admissao(admissao:, afastamento:) contratos_por_matricula[admissao.matricula_do_trabalhador] = Contrato.new(admissao: admissao, afastamento: 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] .registrar_alteracao_contratual(alteracao_contratual) end |
#remover(recibo) ⇒ Object
35 36 37 |
# File 'lib/teodoro/empresa/contratos_de_emprego.rb', line 35 def remover(recibo) contratos_por_matricula.delete_if { _2.recibo == recibo } end |