Добрый день.
Требуется создать базовый класс назовем его CronTask (т.е. задача, которая будет выполняться по расписанию) и потом будет много потомков, который будут реализовывать свои задачи, но базовый класса должен все активные задачи запускать.
class CronTask
class << self
def run_all
descendants.select{|a| a.active?}.each{|a| a.run}
end
end
end
class SpecialTask << CronTask
def self.run
p 'special task'
end
end
Что-то подобное, но мне кажется это не правильное направление.