Questo significa che si ottiene lo stesso risultato aggiungendo un task o che un task già esistente nel plugin ha questo comportamento?
Mentre cercavo di capire perché i task che ho sviluppato nel mio plugin venivano eseguiti due volte, ho testato un task esistente nel plugin Chat e anche questo è stato eseguito due volte.
Ho testato anche alcuni task di altri plugin ma non ricordo quali. Alcuni venivano eseguiti una volta ma non c’era nulla di ovvio nella differenza di implementazione.
Forse c’è qualcosa da fare con l’autoloading?
Su un plugin nuovo, il motore contiene questa riga:
config.autoload_paths << File.join(config.root, "lib")
Se non carico automaticamente lib ma lib/some_path per evitare di caricare automaticamente lib/tasks, sembra meglio, ma lo svantaggio è che interrompe l’autoloading (mi sono fermato qui). Il che potrebbe portare ad avere un mucchio di istruzioni require_relative per compensare…