mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
don't fallback to RACK_ENV when RAILS_ENV is not present
This commit is contained in:
parent
7f338b9082
commit
d578cbfb5c
16 changed files with 32 additions and 121 deletions
|
@ -36,7 +36,7 @@ require 'pp' # require 'pp' early to prevent hidden_methods from not picking up
|
|||
module Rails
|
||||
class << self
|
||||
def env
|
||||
@_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "test")
|
||||
@_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || "test")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -28,7 +28,7 @@ require 'pp' # require 'pp' early to prevent hidden_methods from not picking up
|
|||
module Rails
|
||||
class << self
|
||||
def env
|
||||
@_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "test")
|
||||
@_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || "test")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
module ActiveRecord
|
||||
module ConnectionHandling
|
||||
RAILS_ENV = -> { (Rails.env if defined?(Rails.env)) || ENV["RAILS_ENV"] || ENV["RACK_ENV"] }
|
||||
RAILS_ENV = -> { (Rails.env if defined?(Rails.env)) || ENV["RAILS_ENV"] }
|
||||
DEFAULT_ENV = -> { RAILS_ENV.call || "default_env" }
|
||||
|
||||
# Establishes the connection to the database. Accepts a hash as input where
|
||||
|
|
|
@ -5,13 +5,11 @@ module ActiveRecord
|
|||
class MergeAndResolveDefaultUrlConfigTest < ActiveRecord::TestCase
|
||||
def setup
|
||||
@previous_database_url = ENV.delete("DATABASE_URL")
|
||||
@previous_rack_env = ENV.delete("RACK_ENV")
|
||||
@previous_rails_env = ENV.delete("RAILS_ENV")
|
||||
end
|
||||
|
||||
teardown do
|
||||
ENV["DATABASE_URL"] = @previous_database_url
|
||||
ENV["RACK_ENV"] = @previous_rack_env
|
||||
ENV["RAILS_ENV"] = @previous_rails_env
|
||||
end
|
||||
|
||||
|
@ -41,16 +39,6 @@ module ActiveRecord
|
|||
assert_equal expected, actual
|
||||
end
|
||||
|
||||
def test_resolver_with_database_uri_and_current_env_symbol_key_and_rack_env
|
||||
ENV['DATABASE_URL'] = "postgres://localhost/foo"
|
||||
ENV['RACK_ENV'] = "foo"
|
||||
|
||||
config = { "not_production" => { "adapter" => "not_postgres", "database" => "not_foo" } }
|
||||
actual = resolve_spec(:foo, config)
|
||||
expected = { "adapter" => "postgresql", "database" => "foo", "host" => "localhost" }
|
||||
assert_equal expected, actual
|
||||
end
|
||||
|
||||
def test_resolver_with_database_uri_and_known_key
|
||||
ENV['DATABASE_URL'] = "postgres://localhost/foo"
|
||||
config = { "production" => { "adapter" => "not_postgres", "database" => "not_foo", "host" => "localhost" } }
|
||||
|
@ -173,28 +161,6 @@ module ActiveRecord
|
|||
assert_equal nil, actual[:test]
|
||||
end
|
||||
|
||||
def test_blank_with_database_url_with_rack_env
|
||||
ENV['RACK_ENV'] = "not_production"
|
||||
ENV['DATABASE_URL'] = "postgres://localhost/foo"
|
||||
|
||||
config = {}
|
||||
actual = resolve_config(config)
|
||||
expected = { "adapter" => "postgresql",
|
||||
"database" => "foo",
|
||||
"host" => "localhost" }
|
||||
|
||||
assert_equal expected, actual["not_production"]
|
||||
assert_equal nil, actual["production"]
|
||||
assert_equal nil, actual["default_env"]
|
||||
assert_equal nil, actual["development"]
|
||||
assert_equal nil, actual["test"]
|
||||
assert_equal nil, actual[:default_env]
|
||||
assert_equal nil, actual[:not_production]
|
||||
assert_equal nil, actual[:production]
|
||||
assert_equal nil, actual[:development]
|
||||
assert_equal nil, actual[:test]
|
||||
end
|
||||
|
||||
def test_database_url_with_ipv6_host_and_port
|
||||
ENV['DATABASE_URL'] = "postgres://[::1]:5454/foo"
|
||||
|
||||
|
|
|
@ -278,7 +278,7 @@ def parse_options(args)
|
|||
|
||||
options.merge! opt_parser.parse!(args)
|
||||
options[:config] = ::File.expand_path(options[:config])
|
||||
ENV["RACK_ENV"] = options[:environment]
|
||||
ENV["RAILS_ENV"] = options[:environment]
|
||||
options
|
||||
end
|
||||
```
|
||||
|
@ -287,7 +287,7 @@ With the `default_options` set to this:
|
|||
|
||||
```ruby
|
||||
def default_options
|
||||
environment = ENV['RACK_ENV'] || 'development'
|
||||
environment = ENV['RAILS_ENV'] || 'development'
|
||||
default_host = environment == 'development' ? 'localhost' : '0.0.0.0'
|
||||
|
||||
{
|
||||
|
@ -669,7 +669,7 @@ def self.run(app, options = {})
|
|||
end
|
||||
|
||||
if options[:environment]
|
||||
ENV['RACK_ENV'] = options[:environment].to_s
|
||||
ENV['RAILS_ENV'] = options[:environment].to_s
|
||||
end
|
||||
|
||||
server = ::Puma::Server.new(app)
|
||||
|
@ -677,7 +677,7 @@ def self.run(app, options = {})
|
|||
|
||||
puts "Puma #{::Puma::Const::PUMA_VERSION} starting..."
|
||||
puts "* Min threads: #{min}, max threads: #{max}"
|
||||
puts "* Environment: #{ENV['RACK_ENV']}"
|
||||
puts "* Environment: #{ENV['RAILS_ENV']}"
|
||||
puts "* Listening on tcp://#{options[:Host]}:#{options[:Port]}"
|
||||
|
||||
server.add_tcp_listener options[:Host], options[:Port]
|
||||
|
|
|
@ -62,7 +62,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"] || "development")
|
||||
end
|
||||
|
||||
# Sets the Rails environment.
|
||||
|
|
|
@ -57,7 +57,7 @@ module Rails
|
|||
end
|
||||
|
||||
def environment
|
||||
options[:environment] ||= ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development'
|
||||
options[:environment] ||= ENV['RAILS_ENV'] || 'development'
|
||||
end
|
||||
|
||||
def environment?
|
||||
|
|
|
@ -107,7 +107,7 @@ module Rails
|
|||
if Rails.respond_to?(:env)
|
||||
Rails.env
|
||||
else
|
||||
ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development"
|
||||
ENV["RAILS_ENV"] || "development"
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
require 'optparse'
|
||||
|
||||
options = { environment: (ENV['RAILS_ENV'] || ENV['RACK_ENV'] || "development").dup }
|
||||
options = { environment: (ENV['RAILS_ENV'] || "development").dup }
|
||||
code_or_file = nil
|
||||
|
||||
if ARGV.first.nil?
|
||||
|
|
|
@ -95,7 +95,7 @@ module Rails
|
|||
super.merge({
|
||||
Port: 3000,
|
||||
DoNotReverseLookup: true,
|
||||
environment: (ENV['RAILS_ENV'] || ENV['RACK_ENV'] || "development").dup,
|
||||
environment: (ENV['RAILS_ENV'] || "development").dup,
|
||||
daemonize: false,
|
||||
pid: File.expand_path("tmp/pids/server.pid"),
|
||||
config: File.expand_path("config.ru")
|
||||
|
|
|
@ -203,9 +203,7 @@ module ApplicationTests
|
|||
test 'db:setup loads schema and seeds database' do
|
||||
begin
|
||||
@old_rails_env = ENV["RAILS_ENV"]
|
||||
@old_rack_env = ENV["RACK_ENV"]
|
||||
ENV.delete "RAILS_ENV"
|
||||
ENV.delete "RACK_ENV"
|
||||
|
||||
app_file 'db/schema.rb', <<-RUBY
|
||||
ActiveRecord::Schema.define(version: "1") do
|
||||
|
@ -225,7 +223,6 @@ module ApplicationTests
|
|||
end
|
||||
ensure
|
||||
ENV["RAILS_ENV"] = @old_rails_env
|
||||
ENV["RACK_ENV"] = @old_rack_env
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -79,11 +79,5 @@ module ApplicationTests
|
|||
assert_match "production", Dir.chdir(app_path) { `bundle exec rails runner "puts Rails.env"` }
|
||||
end
|
||||
end
|
||||
|
||||
def test_environment_with_rack_env
|
||||
with_rack_env "production" do
|
||||
assert_match "production", Dir.chdir(app_path) { `bundle exec rails runner "puts Rails.env"` }
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -70,13 +70,6 @@ class Rails::ConsoleTest < ActiveSupport::TestCase
|
|||
end
|
||||
end
|
||||
|
||||
def test_default_environment_with_rack_env
|
||||
with_rack_env 'production' do
|
||||
start
|
||||
assert_match(/\sproduction\s/, output)
|
||||
end
|
||||
end
|
||||
|
||||
def test_e_option
|
||||
start ['-e', 'special-production']
|
||||
assert_match(/\sspecial-production\s/, output)
|
||||
|
|
|
@ -82,20 +82,15 @@ class Rails::DBConsoleTest < ActiveSupport::TestCase
|
|||
assert_equal "test", Rails::DBConsole.new.environment
|
||||
|
||||
ENV['RAILS_ENV'] = nil
|
||||
ENV['RACK_ENV'] = nil
|
||||
|
||||
Rails.stub(:respond_to?, false) do
|
||||
assert_equal "development", Rails::DBConsole.new.environment
|
||||
|
||||
ENV['RACK_ENV'] = "rack_env"
|
||||
assert_equal "rack_env", Rails::DBConsole.new.environment
|
||||
|
||||
ENV['RAILS_ENV'] = "rails_env"
|
||||
assert_equal "rails_env", Rails::DBConsole.new.environment
|
||||
end
|
||||
ensure
|
||||
ENV['RAILS_ENV'] = "test"
|
||||
ENV['RACK_ENV'] = nil
|
||||
end
|
||||
|
||||
def test_rails_env_is_development_when_argument_is_dev
|
||||
|
|
|
@ -27,61 +27,36 @@ class Rails::ServerTest < ActiveSupport::TestCase
|
|||
end
|
||||
|
||||
def test_environment_with_rails_env
|
||||
with_rack_env nil do
|
||||
with_rails_env 'production' do
|
||||
server = Rails::Server.new
|
||||
assert_equal 'production', server.options[:environment]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def test_environment_with_rack_env
|
||||
with_rails_env nil do
|
||||
with_rack_env 'production' do
|
||||
server = Rails::Server.new
|
||||
assert_equal 'production', server.options[:environment]
|
||||
end
|
||||
with_rails_env 'production' do
|
||||
server = Rails::Server.new
|
||||
assert_equal 'production', server.options[:environment]
|
||||
end
|
||||
end
|
||||
|
||||
def test_log_stdout
|
||||
with_rack_env nil do
|
||||
with_rails_env nil do
|
||||
with_rails_env nil do
|
||||
args = []
|
||||
options = Rails::Server::Options.new.parse!(args)
|
||||
assert_equal true, options[:log_stdout]
|
||||
|
||||
args = ["-e", "development"]
|
||||
options = Rails::Server::Options.new.parse!(args)
|
||||
assert_equal true, options[:log_stdout]
|
||||
|
||||
args = ["-e", "production"]
|
||||
options = Rails::Server::Options.new.parse!(args)
|
||||
assert_equal false, options[:log_stdout]
|
||||
|
||||
with_rails_env 'development' do
|
||||
args = []
|
||||
options = Rails::Server::Options.new.parse!(args)
|
||||
assert_equal true, options[:log_stdout]
|
||||
end
|
||||
|
||||
args = ["-e", "development"]
|
||||
options = Rails::Server::Options.new.parse!(args)
|
||||
assert_equal true, options[:log_stdout]
|
||||
|
||||
args = ["-e", "production"]
|
||||
with_rails_env 'production' do
|
||||
args = []
|
||||
options = Rails::Server::Options.new.parse!(args)
|
||||
assert_equal false, options[:log_stdout]
|
||||
|
||||
with_rack_env 'development' do
|
||||
args = []
|
||||
options = Rails::Server::Options.new.parse!(args)
|
||||
assert_equal true, options[:log_stdout]
|
||||
end
|
||||
|
||||
with_rack_env 'production' do
|
||||
args = []
|
||||
options = Rails::Server::Options.new.parse!(args)
|
||||
assert_equal false, options[:log_stdout]
|
||||
end
|
||||
|
||||
with_rails_env 'development' do
|
||||
args = []
|
||||
options = Rails::Server::Options.new.parse!(args)
|
||||
assert_equal true, options[:log_stdout]
|
||||
end
|
||||
|
||||
with_rails_env 'production' do
|
||||
args = []
|
||||
options = Rails::Server::Options.new.parse!(args)
|
||||
assert_equal false, options[:log_stdout]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -12,15 +12,6 @@ module EnvHelpers
|
|||
end
|
||||
end
|
||||
|
||||
def with_rack_env(env)
|
||||
Rails.instance_variable_set :@_env, nil
|
||||
switch_env 'RACK_ENV', env do
|
||||
switch_env 'RAILS_ENV', nil do
|
||||
yield
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def switch_env(key, value)
|
||||
old, ENV[key] = ENV[key], value
|
||||
yield
|
||||
|
|
Loading…
Reference in a new issue