aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Deng <ddeng@dius.com.au>2016-12-19 12:45:14 +1100
committerDaniel Deng <ddeng@dius.com.au>2017-01-04 15:03:30 +1100
commit498370c05b56ae02189466420da117b32304ddf9 (patch)
treedbde99e2275771a2f16f0102dd68181aee45e35b
parentb2672c739b9fe3a5b37249d899bdec9c3b9726cf (diff)
downloadrails-498370c05b56ae02189466420da117b32304ddf9.tar.gz
rails-498370c05b56ae02189466420da117b32304ddf9.tar.bz2
rails-498370c05b56ae02189466420da117b32304ddf9.zip
Rails.env falls back to dev mode when env var is empty
-rw-r--r--railties/CHANGELOG.md4
-rw-r--r--railties/lib/rails.rb3
-rw-r--r--railties/test/application/configuration_test.rb12
3 files changed, 18 insertions, 1 deletions
diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md
index 8a1a440fca..133bafb1a3 100644
--- a/railties/CHANGELOG.md
+++ b/railties/CHANGELOG.md
@@ -1,3 +1,7 @@
+* Make `Rails.env` fall back to `development` when `RAILS_ENV` and `RACK_ENV` is an empty string.
+
+ *Daniel Deng*
+
* Add Webpack support in new apps via the --webpack option, which will delegate to the rails/webpacker gem.
To generate a new app that has Webpack dependencies configured and binstubs for webpack and webpack-watcher:
diff --git a/railties/lib/rails.rb b/railties/lib/rails.rb
index ee48043a50..00add5829d 100644
--- a/railties/lib/rails.rb
+++ b/railties/lib/rails.rb
@@ -7,6 +7,7 @@ require "active_support/dependencies/autoload"
require "active_support/core_ext/kernel/reporting"
require "active_support/core_ext/module/delegation"
require "active_support/core_ext/array/extract_options"
+require "active_support/core_ext/object/blank"
require "rails/application"
require "rails/version"
@@ -67,7 +68,7 @@ module Rails
# Rails.env.development? # => true
# Rails.env.production? # => false
def env
- @_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development")
+ @_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"].presence || ENV["RACK_ENV"].presence || "development")
end
# Sets the Rails environment.
diff --git a/railties/test/application/configuration_test.rb b/railties/test/application/configuration_test.rb
index c409f1ea79..6d08aa609d 100644
--- a/railties/test/application/configuration_test.rb
+++ b/railties/test/application/configuration_test.rb
@@ -78,6 +78,18 @@ module ApplicationTests
end
end
+ test "Rails.env falls back to development if RAILS_ENV is blank and RACK_ENV is nil" do
+ with_rails_env("") do
+ assert_equal "development", Rails.env
+ end
+ end
+
+ test "Rails.env falls back to development if RACK_ENV is blank and RAILS_ENV is nil" do
+ with_rack_env("") do
+ assert_equal "development", Rails.env
+ end
+ end
+
test "By default logs tags are not set in development" do
restore_default_config