/
Matslex
/
ProjectDevelopmentFinal
Обзор
Документация
Войти
/
Matslex
/
ProjectDevelopmentFinal
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
app/models/task.rb
46 строк
880 B
Matslex
Final
18 июл 2025, 14:58
18 июл 2025, 14:58
8495507
Код
Авторство
О чём код?
class Task < ApplicationRecord belongs_to :project validates :title, presence: true enum :status, { "to_do" => 0, "in_progress" => 1, "in_testing" => 2, "rejected" => 3, "done" => 4 } validate :status_must_be_to_do_on_create, on: :create def status_done? status == "done" end def next_statuses case status when "to_do" ["in_progress"] when "in_progress" ["in_testing", "to_do"] when "in_testing" ["done", "rejected"] when "rejected" ["in_progress"] else [] end end def allowed_status_transition?(new_status) next_statuses.include?(new_status) end private def status_must_be_to_do_on_create if status.to_s != "to_do" errors.add(:status, "при создании задачи должен быть только статус 'To Do'") end end end