Обычный способ сделать это - переместить весь текущий код в модуль и оставить реализацию задачи только для:
require 'that_new_module'
namespace :xyz do
task :simple_task => :environment do
ThatNewModule.doit!
end
end
Если вы используете переменные среды или аргумент команды, просто передайте их:
ThatNewModule.doit!(ENV['SOMETHING'], ARGV[1])
Таким образом, вы можете протестировать и реорганизовать реализацию, не затрагивая задачу rake.