未验证 提交 8ed63651 编写于 作者: Y Yuji Yaginuma 提交者: GitHub

Merge pull request #35637 from y-yagi/add_environment_option_to_initializers

Add `-e/--environment` option to `rails initializers`
* Add `-e/--environment` option to `rails initializers`.
*Yuji Yaginuma*
## Rails 6.0.0.beta3 (March 11, 2019) ##
* No changes.
......
# frozen_string_literal: true
require "rails/command/environment_argument"
module Rails
module Command
class InitializersCommand < Base # :nodoc:
include EnvironmentArgument
desc "initializers", "Print out all defined initializers in the order they are invoked by Rails."
def perform
extract_environment_option_from_argument
ENV["RAILS_ENV"] = options[:environment]
require_application_and_environment!
Rails.application.initializers.tsort_each do |initializer|
......
......@@ -25,8 +25,24 @@ class Rails::Command::InitializersTest < ActiveSupport::TestCase
assert final_output.include?("set_added_test_module")
end
test "prints out initializers only specified in environment option" do
add_to_config <<-RUBY
initializer(:set_added_development_module) { } if Rails.env.development?
initializer(:set_added_production_module) { } if Rails.env.production?
RUBY
output = run_initializers_command.split("\n")
assert_includes output, "AppTemplate::Application.set_added_development_module"
assert_not_includes output, "AppTemplate::Application.set_added_production_module"
output = run_initializers_command(["-e", "production"]).split("\n")
assert_not_includes output, "AppTemplate::Application.set_added_development_module"
assert_includes output, "AppTemplate::Application.set_added_production_module"
end
private
def run_initializers_command
rails "initializers"
def run_initializers_command(args = [])
rails "initializers", args
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册