Isso significa que você obtém o mesmo resultado ao adicionar uma tarefa a ele ou que uma tarefa já existente no plugin tem esse comportamento?
Ao tentar entender por que as tarefas que desenvolvi em meu próprio plugin foram executadas duas vezes, testei uma tarefa existente no plugin Chat e ela também foi executada duas vezes.
Testei algumas tarefas de outros plugins também, mas não consigo me lembrar de quais. Algumas estavam executando uma vez, mas não havia nada óbvio sobre a diferença de implementação.
Talvez haja algo a ver com o autoloading?
Em um plugin novo, o engine contém esta linha:
config.autoload_paths << File.join(config.root, "lib")
Se eu não carregar automaticamente lib, mas lib/some_path para evitar carregar automaticamente lib/tasks, parece melhor, mas a desvantagem é que isso quebra o autoloading (parei aqui). O que pode levar a ter um monte de instruções require_relative para compensar…