aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/generators/app_base.rb
diff options
context:
space:
mode:
authorPiotr Sarnacki <drogus@gmail.com>2010-10-20 07:59:28 +0200
committerPiotr Sarnacki <drogus@gmail.com>2010-11-02 17:14:50 +0100
commite51e9e2db0359355feef71e735a1f9cb764ec929 (patch)
treebf258ff3ef2c35f95a962e0b757c8008c7e706ea /railties/lib/rails/generators/app_base.rb
parent5c8b48ab4b9d08f3e38087214635918e659d72b6 (diff)
downloadrails-e51e9e2db0359355feef71e735a1f9cb764ec929.tar.gz
rails-e51e9e2db0359355feef71e735a1f9cb764ec929.tar.bz2
rails-e51e9e2db0359355feef71e735a1f9cb764ec929.zip
Add --dev and --edge options to rails plugin new
Diffstat (limited to 'railties/lib/rails/generators/app_base.rb')
-rw-r--r--railties/lib/rails/generators/app_base.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/railties/lib/rails/generators/app_base.rb b/railties/lib/rails/generators/app_base.rb
index ecaf92c683..e0f0242da8 100644
--- a/railties/lib/rails/generators/app_base.rb
+++ b/railties/lib/rails/generators/app_base.rb
@@ -74,6 +74,40 @@ module Rails
options[:template]
end
end
+
+ def rails_gemfile_entry
+ if options.dev?
+ <<-GEMFILE
+gem 'rails', :path => '#{Rails::Generators::RAILS_DEV_PATH}'
+gem 'arel', :git => 'git://github.com/rails/arel.git'
+gem "rack", :git => "git://github.com/rack/rack.git"
+ GEMFILE
+ elsif options.edge?
+ <<-GEMFILE
+gem 'rails', :git => 'git://github.com/rails/rails.git'
+gem 'arel', :git => 'git://github.com/rails/arel.git'
+gem "rack", :git => "git://github.com/rack/rack.git"
+ GEMFILE
+ else
+ <<-GEMFILE
+gem 'rails', '#{Rails::VERSION::STRING}'
+
+# Bundle edge Rails instead:
+# gem 'rails', :git => 'git://github.com/rails/rails.git'
+# gem 'arel', :git => 'git://github.com/rails/arel.git'
+# gem "rack", :git => "git://github.com/rack/rack.git"
+ GEMFILE
+ end
+ end
+
+ def bundle_if_dev_or_edge
+ bundle_command = File.basename(Thor::Util.ruby_command).sub(/ruby/, 'bundle')
+ run "#{bundle_command} install" if dev_or_edge?
+ end
+
+ def dev_or_edge?
+ options.dev? || options.edge?
+ end
end
end
end