Плагин: задача rake выполняется несколько раз — что мы упускаем?

Это означает, что вы получаете тот же результат при добавлении задачи к нему, или что уже существующая задача в плагине обладает таким поведением?

Пытаясь понять, почему задачи, которые я разработал в своём собственном плагине, выполнялись дважды, я протестировал существующую задачу в плагине Chat, и она тоже выполнилась дважды.

Я также тестировал некоторые задачи из других плагинов, но не помню, какие именно. Некоторые выполнялись один раз, но не было ничего очевидного в различиях реализации.

Возможно, это связано с автозагрузкой?

В новом плагине в движке есть такая строка:

config.autoload_paths << File.join(config.root, "lib")

Если я не автозагружаю lib, а lib/some_path, чтобы избежать автозагрузки lib/tasks, кажется, что становится лучше, но недостатком является то, что это нарушает автозагрузку (я остановился на этом). Это может привести к необходимости добавить множество операторов require_relative для компенсации…