Make plugins responsible for loading their own rake tasks

Signed-off-by: Carl Lerche <carllerche@mac.com>
This commit is contained in:
Sam Pohlenz 2009-12-28 08:48:07 +10:30 committed by Carl Lerche
parent cbce027669
commit 468bdb3ed8
2 changed files with 5 additions and 7 deletions

View File

@ -72,13 +72,7 @@ module Rails
def load_tasks
require "rails/tasks"
# Load all extension rake tasks
# TODO: Make all plugin objects respond to :load_tasks
plugins.each do |plugin|
plugin.load_tasks if plugin.respond_to? :load_tasks
end
# Load all plugin tasks
Dir["#{root}/vendor/plugins/*/**/tasks/**/*.rake"].sort.each { |ext| load ext }
plugins.each { |p| p.load_tasks }
# Load all application tasks
# TODO: extract out the path to the rake tasks
Dir["#{root}/lib/tasks/**/*.rake"].sort.each { |ext| load ext }

View File

@ -85,6 +85,10 @@ module Rails
Dir["#{path}/{lib}", "#{path}/app/{models,controllers,helpers}"]
end
def load_tasks
Dir["#{path}/**/tasks/**/*.rake"].sort.each { |ext| load ext }
end
initializer :add_to_load_path, :after => :set_autoload_paths do |app|
load_paths.each do |path|
$LOAD_PATH << path