# add rename_task method to Rake::Application # it has an internal hash with name -> Rake::Task mapping module Rake class Application def rename_task(task, oldname, newname) if @tasks.nil? @tasks = {} end @tasks[newname.to_s] = task if @tasks.has_key? oldname @tasks.delete oldname end end end end # add new rename method to Rake::Task class # to rename a task class Rake::Task def rename(new_name) if !new_name.nil? old_name = @name if old_name == new_name return end @name = new_name.to_s application.rename_task(self, old_name, new_name) end end end