diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2006-04-01 06:29:32 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2006-04-01 06:29:32 +0000 |
commit | d08f838c0e4d626a1b78c7799e0cad878ce4943c (patch) | |
tree | 4912c4fcf6ee7da1b0c1635ae16e344985a95d48 /railties/lib | |
parent | 237cc945bb82c3428b85646fe1688fe61d4cc535 (diff) | |
download | rails-d08f838c0e4d626a1b78c7799e0cad878ce4943c.tar.gz rails-d08f838c0e4d626a1b78c7799e0cad878ce4943c.tar.bz2 rails-d08f838c0e4d626a1b78c7799e0cad878ce4943c.zip |
Added -f/--freeze option to rails command for freezing the application to the Rails version it was generated with [DHH] Fixed rake rails:freeze:gems (closes #4518) [benji@silverinsanity.com]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4115 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties/lib')
-rw-r--r-- | railties/lib/rails_generator/generators/applications/app/app_generator.rb | 8 | ||||
-rw-r--r-- | railties/lib/tasks/framework.rake | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/railties/lib/rails_generator/generators/applications/app/app_generator.rb b/railties/lib/rails_generator/generators/applications/app/app_generator.rb index 145f354052..b07133240b 100644 --- a/railties/lib/rails_generator/generators/applications/app/app_generator.rb +++ b/railties/lib/rails_generator/generators/applications/app/app_generator.rb @@ -6,7 +6,7 @@ class AppGenerator < Rails::Generator::Base DATABASES = %w( mysql oracle postgresql sqlite2 sqlite3 ) - default_options :db => "mysql", :shebang => DEFAULT_SHEBANG + default_options :db => "mysql", :shebang => DEFAULT_SHEBANG, :freeze => false mandatory_options :source => "#{File.dirname(__FILE__)}/../../../../.." def initialize(runtime_args, runtime_options = {}) @@ -44,7 +44,7 @@ class AppGenerator < Rails::Generator::Base # Environments m.file "environments/boot.rb", "config/boot.rb" - m.template "environments/environment.rb", "config/environment.rb" + m.template "environments/environment.rb", "config/environment.rb", :assigns => { :freeze => options[:freeze] } m.file "environments/production.rb", "config/environments/production.rb" m.file "environments/development.rb", "config/environments/development.rb" m.file "environments/test.rb", "config/environments/test.rb" @@ -100,6 +100,10 @@ class AppGenerator < Rails::Generator::Base opt.on("-d", "--database=name", String, "Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite2/sqlite3).", "Default: mysql") { |options[:db]| } + + opt.on("-f", "--freeze", + "Freeze Rails in vendor/rails from the gems generating the skeleton", + "Default: false") { |options[:freeze]| } end def mysql_socket_location diff --git a/railties/lib/tasks/framework.rake b/railties/lib/tasks/framework.rake index c837b73922..ff2bd78edb 100644 --- a/railties/lib/tasks/framework.rake +++ b/railties/lib/tasks/framework.rake @@ -6,7 +6,7 @@ namespace :rails do require 'rubygems' Gem.manage_gems - rails = version = ENV['VERSION'] ? + rails = (version = ENV['VERSION']) ? Gem.cache.search('rails', "= #{version}").first : Gem.cache.search('rails').sort_by { |g| g.version }.last |