diff options
author | Robin Dupret <robin.dupret@gmail.com> | 2014-03-08 15:51:49 +0100 |
---|---|---|
committer | Robin Dupret <robin.dupret@gmail.com> | 2014-03-08 15:59:22 +0100 |
commit | 9c53b8b89f0b4aec5a2ec3611cefae8e7b6514a5 (patch) | |
tree | faba48d0f7d7ff2209e178eb420fc50645584468 /railties | |
parent | dc8bfc8ab62c3e3a776297226ef43027bc7d09c1 (diff) | |
download | rails-9c53b8b89f0b4aec5a2ec3611cefae8e7b6514a5.tar.gz rails-9c53b8b89f0b4aec5a2ec3611cefae8e7b6514a5.tar.bz2 rails-9c53b8b89f0b4aec5a2ec3611cefae8e7b6514a5.zip |
Make the rails:template rake task load initializers
Templates could rely on irregular inflections or external libraries for
instance so we should load the application's initializers when running
the rails:template task.
The introducing commit of this feature is f7f11361 ; the initializers
have never been loaded invoking this task.
Fixes #12133.
Diffstat (limited to 'railties')
-rw-r--r-- | railties/CHANGELOG.md | 6 | ||||
-rw-r--r-- | railties/lib/rails/tasks/framework.rake | 2 | ||||
-rw-r--r-- | railties/test/application/rake_test.rb | 11 |
3 files changed, 18 insertions, 1 deletions
diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md index 5096f5324a..95f2c25a15 100644 --- a/railties/CHANGELOG.md +++ b/railties/CHANGELOG.md @@ -1,3 +1,9 @@ +* Make the `rails:template` rake task load the application's initializers. + + Fixes #12133. + + *Robin Dupret* + * Introduce `Rails.gem_version` as a convenience method to return `Gem::Version.new(Rails.version)`, suggesting a more reliable way to perform version comparison. diff --git a/railties/lib/rails/tasks/framework.rake b/railties/lib/rails/tasks/framework.rake index e669315934..3c8f8c6b87 100644 --- a/railties/lib/rails/tasks/framework.rake +++ b/railties/lib/rails/tasks/framework.rake @@ -3,7 +3,7 @@ namespace :rails do task update: [ "update:configs", "update:bin" ] desc "Applies the template supplied by LOCATION=(/path/to/template) or URL" - task :template do + task template: :environment do template = ENV["LOCATION"] raise "No LOCATION value given. Please set LOCATION either as path to a file or a URL" if template.blank? template = File.expand_path(template) if template !~ %r{\A[A-Za-z][A-Za-z0-9+\-\.]*://} diff --git a/railties/test/application/rake_test.rb b/railties/test/application/rake_test.rb index 317e73245c..e8c8de9f73 100644 --- a/railties/test/application/rake_test.rb +++ b/railties/test/application/rake_test.rb @@ -271,5 +271,16 @@ module ApplicationTests end end end + + def test_template_load_initializers + app_file "config/initializers/dummy.rb", "puts 'Hello, World!'" + app_file "template.rb", "" + + output = Dir.chdir(app_path) do + `bundle exec rake rails:template LOCATION=template.rb` + end + + assert_match(/Hello, World!/, output) + end end end |