aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2015-08-24 12:11:36 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2015-08-24 12:11:36 -0300
commit1c1ad2b74600579e255bcb34e9926de2a76ac61a (patch)
treec9884dd7adcbe46c031771d7d43e1e6317232a68
parent35161a7f5397f564d895525eddead142aca7fbe3 (diff)
parent306c14c41135dc8d308967821d0bb26cf4bb7ecd (diff)
downloadrails-1c1ad2b74600579e255bcb34e9926de2a76ac61a.tar.gz
rails-1c1ad2b74600579e255bcb34e9926de2a76ac61a.tar.bz2
rails-1c1ad2b74600579e255bcb34e9926de2a76ac61a.zip
Merge pull request #21267 from davidcornu/rails-server-port-env-var
Use the PORT environment variable for rails server
-rw-r--r--railties/CHANGELOG.md4
-rw-r--r--railties/lib/rails/commands/server.rb2
-rw-r--r--railties/test/commands/server_test.rb7
3 files changed, 12 insertions, 1 deletions
diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md
index 21adac272d..faf6846e4b 100644
--- a/railties/CHANGELOG.md
+++ b/railties/CHANGELOG.md
@@ -1,3 +1,7 @@
+* `rails server` will now honour the `PORT` environment variable
+
+ *David Cornu*
+
* Plugins generated using `rails plugin new` are now generated with the
version number set to 0.1.0.
diff --git a/railties/lib/rails/commands/server.rb b/railties/lib/rails/commands/server.rb
index c8fb58ab05..d3ea441f8e 100644
--- a/railties/lib/rails/commands/server.rb
+++ b/railties/lib/rails/commands/server.rb
@@ -86,7 +86,7 @@ module Rails
def default_options
super.merge({
- Port: 3000,
+ Port: ENV.fetch('PORT', 3000).to_i,
DoNotReverseLookup: true,
environment: (ENV['RAILS_ENV'] || ENV['RACK_ENV'] || "development").dup,
daemonize: false,
diff --git a/railties/test/commands/server_test.rb b/railties/test/commands/server_test.rb
index 7a063aeddf..3be4a74f74 100644
--- a/railties/test/commands/server_test.rb
+++ b/railties/test/commands/server_test.rb
@@ -44,6 +44,13 @@ class Rails::ServerTest < ActiveSupport::TestCase
end
end
+ def test_environment_with_port
+ switch_env "PORT", "1234" do
+ server = Rails::Server.new
+ assert_equal 1234, server.options[:Port]
+ end
+ end
+
def test_caching_without_option
args = []
options = Rails::Server::Options.new.parse!(args)