aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/command
diff options
context:
space:
mode:
authoryuuji.yaginuma <yuuji.yaginuma@gmail.com>2019-03-04 08:12:05 +0900
committeryuuji.yaginuma <yuuji.yaginuma@gmail.com>2019-03-15 07:43:10 +0900
commitc801b232bcb5d885e846e33e26becd33631b8c5b (patch)
treea09d66331fc1739ee7a65b66c545c98720b06503 /railties/lib/rails/command
parent85984e50311b7138504abe1be9bbe99f96dde8ef (diff)
downloadrails-c801b232bcb5d885e846e33e26becd33631b8c5b.tar.gz
rails-c801b232bcb5d885e846e33e26becd33631b8c5b.tar.bz2
rails-c801b232bcb5d885e846e33e26becd33631b8c5b.zip
Properly expand the environment's name in all commands
Since 3777701f1380f3814bd5313b225586dec64d4104, the environment's name is automatically expanded in console and dbconsole commands. In order to match the behavior between the commands, fixes it to have the same behavior of all the commands. This behavior is defined in `EnvironmentArgument`. Since `EnvironmentArgument` also defines the environment option, it is reused. However, since desc was not content that can be used in all comments, fixed desc to be defined for each command.
Diffstat (limited to 'railties/lib/rails/command')
-rw-r--r--railties/lib/rails/command/environment_argument.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/railties/lib/rails/command/environment_argument.rb b/railties/lib/rails/command/environment_argument.rb
index fdc5ee92d9..0cb3f1ce1e 100644
--- a/railties/lib/rails/command/environment_argument.rb
+++ b/railties/lib/rails/command/environment_argument.rb
@@ -1,6 +1,7 @@
# frozen_string_literal: true
require "active_support"
+require "active_support/core_ext/class/attribute"
module Rails
module Command
@@ -8,16 +9,16 @@ module Rails
extend ActiveSupport::Concern
included do
- class_option :environment, aliases: "-e", type: :string,
- desc: "Specifies the environment to run this console under (test/development/production)."
+ class_attribute :environment_desc, default: "Specifies the environment to run this #{self.command_name} under (test/development/production)."
+ class_option :environment, aliases: "-e", type: :string, desc: environment_desc
end
private
- def extract_environment_option_from_argument
+ def extract_environment_option_from_argument(default_environment: Rails::Command.environment)
if options[:environment]
self.options = options.merge(environment: acceptable_environment(options[:environment]))
else
- self.options = options.merge(environment: Rails::Command.environment)
+ self.options = options.merge(environment: default_environment)
end
end