From f3014d6386b9c57cc5385364dfff6a7a9bddfd89 Mon Sep 17 00:00:00 2001 From: Rodrigo Date: Mon, 10 May 2010 22:05:15 -0300 Subject: [PATCH] Rake task to copy the default templates for personalization [#4574 state:closed] --- railties/lib/rails/tasks/generator_templates.rake | 26 +++++++++++++++++++++ 1 files changed, 26 insertions(+), 0 deletions(-) create mode 100644 railties/lib/rails/tasks/generator_templates.rake diff --git a/railties/lib/rails/tasks/generator_templates.rake b/railties/lib/rails/tasks/generator_templates.rake new file mode 100644 index 0000000..2fcd44d --- /dev/null +++ b/railties/lib/rails/tasks/generator_templates.rake @@ -0,0 +1,26 @@ +namespace :templates do + desc "Copy all the templates from rails to the application directory for customization, the local copy of the templates will be in RAILS_ROOT/lib/templates" + task :copy do + require 'rubygems' + require 'rubygems/gem_runner' + require 'fileutils' + railties = (version = ENV['VERSION']) ? + Gem.cache.find_name('railties', "= #{version}").first : + Gem.cache.find_name('railties').sort_by { |g| g.version }.last + base_path = railties.full_gem_path + FileUtils.mkdir_p "#{Rails.root}/lib/templates/" + default_dirs = {:erb => %w{controller mailer scaffold}, :rails => %w{controller helper mailer metal scaffold_controller stylesheets}} + default_dirs.each do |type,names| + FileUtils.mkdir_p "#{Rails.root}/lib/templates/#{type.to_s}" + names.each do |name| + dst_name = "#{Rails.root}/lib/templates/#{type.to_s}/#{name}" + FileUtils.mkdir_p dst_name + src_name = "#{base_path}/lib/rails/generators/#{type.to_s}/#{name}/templates" + src = Dir.new src_name + src.entries.each do |fname| + FileUtils.cp "#{src_name}/#{fname}", "#{dst_name}" unless fname =~ /^\..*/ + end + end + end + end +end -- 1.7.0.2.msysgit.0