From 293d0b2dae126e1b119d55b70cdac3644b5f1c5c Mon Sep 17 00:00:00 2001 From: winton Date: Mon, 29 Aug 2011 22:49:36 -0700 Subject: [PATCH] Re-adding rake rename --- Rakefile | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Rakefile b/Rakefile index ed9c0dc..cfb7ef4 100644 --- a/Rakefile +++ b/Rakefile @@ -91,4 +91,30 @@ end desc "Validate the gemspec" task :gemspec do gemspec.validate +end + +# DELETE AFTER USING +desc "Rename project" +task :rename do + name = ENV['NAME'] || File.basename(Dir.pwd) + camelize = lambda do |str| + str.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase } + end + dir = Dir['**/gem_template*'] + begin + from = dir.pop + if from + to = from.split('/') + to[-1].gsub!('gem_template', name) + FileUtils.mv(from, to.join('/')) + end + end while dir.length > 0 + Dir["**/*"].each do |path| + if File.file?(path) + `sed -i '' 's/gem_template/#{name}/g' #{path}` + `sed -i '' 's/GemTemplate/#{camelize.call(name)}/g' #{path}` + no_space = File.read(path).gsub(/\s+\z/, '') + File.open(path, 'w') { |f| f.write(no_space) } + end + end end \ No newline at end of file