79 lines
2.4 KiB
Ruby
79 lines
2.4 KiB
Ruby
$:.unshift(File.dirname(__FILE__) + "/../../lib")
|
|
require 'routes_upgrader'
|
|
require 'gemfile_generator'
|
|
require 'application_checker'
|
|
require 'new_configuration_generator'
|
|
|
|
require 'fileutils'
|
|
|
|
namespace :rails do
|
|
namespace :upgrade do
|
|
desc "Runs a battery of checks on your Rails 2.x app and generates a report on required upgrades for Rails 3"
|
|
task :check do
|
|
checker = Rails::Upgrading::ApplicationChecker.new
|
|
checker.run
|
|
end
|
|
|
|
desc "Generates a Gemfile for your Rails 3 app out of your config.gem directives"
|
|
task :gems do
|
|
generator = Rails::Upgrading::GemfileGenerator.new
|
|
new_gemfile = generator.generate_new_gemfile
|
|
|
|
puts new_gemfile
|
|
end
|
|
|
|
desc "Create a new, upgraded route file from your current routes.rb"
|
|
task :routes do
|
|
upgrader = Rails::Upgrading::RoutesUpgrader.new
|
|
new_routes = upgrader.generate_new_routes
|
|
|
|
puts new_routes
|
|
end
|
|
|
|
desc "Extracts your configuration code so you can create a new config/application.rb"
|
|
task :configuration do
|
|
upgrader = Rails::Upgrading::NewConfigurationGenerator.new
|
|
new_config = upgrader.generate_new_application_rb
|
|
|
|
puts new_config
|
|
end
|
|
|
|
CLEAR = "\e[0m"
|
|
CYAN = "\e[36m"
|
|
WHITE = "\e[37m"
|
|
|
|
desc "Backs up your likely modified files so you can run the Rails 3 generator on your app with little risk"
|
|
task :backup do
|
|
files = [".gitignore",
|
|
"app/controllers/application_controller.rb",
|
|
"app/helpers/application_helper.rb",
|
|
"config/routes.rb",
|
|
"config/environment.rb",
|
|
"config/environments/development.rb",
|
|
"config/environments/production.rb",
|
|
"config/environments/staging.rb",
|
|
"config/database.yml",
|
|
"config.ru",
|
|
"doc/README_FOR_APP",
|
|
"test/test_helper.rb"]
|
|
|
|
puts
|
|
files.each do |f|
|
|
if File.exist?(f)
|
|
puts "#{CYAN}* #{CLEAR}backing up #{WHITE}#{f}#{CLEAR} to #{WHITE}#{f}.rails2#{CLEAR}"
|
|
FileUtils.cp(f, "#{f}.rails2")
|
|
end
|
|
end
|
|
|
|
puts
|
|
puts "This is a list of the files analyzed and backed up (if they existed);\nyou will probably not want the generator to replace them since\nyou probably modified them (but now they're safe if you accidentally do!)."
|
|
puts
|
|
|
|
files.each do |f|
|
|
puts "#{CYAN}- #{CLEAR}#{f}"
|
|
end
|
|
puts
|
|
end
|
|
end
|
|
end
|