fix errant MM bootup during CLI. Make an autodiscoverable tasks/ directory

This commit is contained in:
Thomas Reynolds 2012-01-16 14:55:08 -08:00
parent aeb9d10b25
commit d1f0e6f616
5 changed files with 30 additions and 17 deletions

View file

@ -45,8 +45,22 @@ module Middleman::Cli
end
klass, task = Thor::Util.find_class_and_task_by_namespace("#{meth}:#{meth}")
args.unshift(task) if task
klass.start(args, :shell => self.shell)
if klass.nil?
tasks_dir = File.join(Dir.pwd, "tasks")
if File.exists?(tasks_dir)
Dir[File.join(tasks_dir, "**/*_task.rb")].each { |f| require f }
klass, task = Thor::Util.find_class_and_task_by_namespace("#{meth}:#{meth}")
end
end
if klass.nil?
super
else
args.unshift(task) if task
klass.start(args, :shell => self.shell)
end
end
end
end