提交 6fb31638 编写于 作者: K Kasper Timm Hansen

Merge pull request #23439 from ryohashimoto/160203_rake_rails

Use app namespace for framework tasks
......@@ -550,7 +550,7 @@ There are a few configuration options available in Active Support:
* `config.active_support.time_precision` sets the precision of JSON encoded time values. Defaults to `3`.
* `ActiveSupport.halt_callback_chains_on_return_false` specifies whether Active Record and Active Model callback chains can be halted by returning `false` in a 'before' callback. When set to `false`, callback chains are halted only when explicitly done so with `throw(:abort)`. When set to `true`, callback chains are halted when a callback returns false (the previous behavior before Rails 5) and a deprecation warning is given. Defaults to `true` during the deprecation period. New Rails 5 apps generate an initializer file called `callback_terminator.rb` which sets the value to `false`. This file is *not* added when running `rake rails:update`, so returning `false` will still work on older apps ported to Rails 5 and display a deprecation warning to prompt users to update their code.
* `ActiveSupport.halt_callback_chains_on_return_false` specifies whether Active Record and Active Model callback chains can be halted by returning `false` in a 'before' callback. When set to `false`, callback chains are halted only when explicitly done so with `throw(:abort)`. When set to `true`, callback chains are halted when a callback returns false (the previous behavior before Rails 5) and a deprecation warning is given. Defaults to `true` during the deprecation period. New Rails 5 apps generate an initializer file called `callback_terminator.rb` which sets the value to `false`. This file is *not* added when running `rails app:update`, so returning `false` will still work on older apps ported to Rails 5 and display a deprecation warning to prompt users to update their code.
* `ActiveSupport::Logger.silencer` is set to `false` to disable the ability to silence logging in a block. The default is `true`.
......
......@@ -22,11 +22,11 @@ $ rails new blog -m ~/template.rb
$ rails new blog -m http://example.com/template.rb
```
You can use the task `rails:template` to apply templates to an existing Rails application. The location of the template needs to be passed in to an environment variable named LOCATION. Again, this can either be path to a file or a URL.
You can use the task `app:template` to apply templates to an existing Rails application. The location of the template needs to be passed in to an environment variable named LOCATION. Again, this can either be path to a file or a URL.
```bash
$ bin/rails rails:template LOCATION=~/template.rb
$ bin/rails rails:template LOCATION=http://example.com/template.rb
$ bin/rails app:template LOCATION=~/template.rb
$ bin/rails app:template LOCATION=http://example.com/template.rb
```
Template API
......
......@@ -44,13 +44,13 @@ TIP: Ruby 1.8.7 p248 and p249 have marshaling bugs that crash Rails. Ruby Enterp
### The Rake Task
Rails provides the `rails:update` rake task. After updating the Rails version
Rails provides the `app:update` rake task. After updating the Rails version
in the Gemfile, run this rake task.
This will help you with the creation of new files and changes of old files in an
interactive session.
```bash
$ rake rails:update
$ rails app:update
identical config/boot.rb
exist config
conflict config/routes.rb
......
* The tasks in the rails task namespace is deprecated in favor of app namespace.
(e.g. `rails:update` and `rails:template` tasks is renamed to `app:update` and `app:template`.)
*Ryo Hashimoto*
* Enable HSTS with IncludeSudomains header for new applications.
*Egor Homakov*, *Prathamesh Sonpatki*
......
......@@ -16,7 +16,7 @@ module AppLoader # :nodoc:
Here's how to upgrade:
bundle config --delete bin # Turn off Bundler's stub generator
rake rails:update:bin # Use the new Rails 4 executables
rails app:update:bin # Use the new Rails 5 executables
git add bin # Add bin/ to source control
You may need to remove bin/ from your .gitignore as well.
......
namespace :rails do
require 'active_support/deprecation'
namespace :app do
desc "Update configs and some other initially generated files (or use just update:configs or update:bin)"
task update: [ "update:configs", "update:bin" ]
......@@ -66,3 +68,15 @@ namespace :rails do
end
end
end
namespace :rails do
%i(update template templates:copy update:configs update:bin).each do |task_name|
task "#{task_name}" do
ActiveSupport::Deprecation.warn(<<-MSG.squish)
Running #{task_name} with the rails: namespace is deprecated in favor of app.
Run e.g. bin/rails app:#{task_name} instead."
MSG
Rake.application.invoke_task("app:#{task_name}")
end
end
end
......@@ -369,7 +369,7 @@ def test_rake_clear_schema_cache
def test_copy_templates
Dir.chdir(app_path) do
`bin/rails rails:templates:copy`
`bin/rails app:templates:copy`
%w(controller mailer scaffold).each do |dir|
assert File.exist?(File.join(app_path, 'lib', 'templates', 'erb', dir))
end
......@@ -384,7 +384,7 @@ def test_template_load_initializers
app_file "template.rb", ""
output = Dir.chdir(app_path) do
`bin/rails rails:template LOCATION=template.rb`
`bin/rails app:template LOCATION=template.rb`
end
assert_match(/Hello, World!/, output)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册