#-- # Copyright (C) 2007 Dimitrij Denissenko # Please read LICENSE document for more information. #++ module Retrospectiva module RakeWrapper @@last_comment = '' mattr_accessor :last_comment @@rake_tasks = {} mattr_accessor :rake_tasks class << self def read(file) module_eval(File.read(file)) end def namespace(name = nil, &block) yield if name == :retro end def task(*args) key = if args.first.is_a?(Hash) args.first.keys.first else args.first end self.rake_tasks[key] = self.last_comment end def desc(comment = '') self.last_comment = comment end end end end Dir["#{RAILS_ROOT}/extensions/**/tasks/**/ext_retro_tasks.rake"] + Dir["#{RAILS_ROOT}/lib/tasks/**/core_retro_tasks.rake"].sort.each do |rake_file| Retrospectiva::RakeWrapper.read(rake_file) end