aboutsummaryrefslogtreecommitdiffstats
path: root/railties
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-11-09 22:15:01 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-11-09 22:15:01 +0000
commitc7e5c27b51154b3c3a164cf84f08425b2e00e1d8 (patch)
tree98544029ab9764b34a0565dd6621f92a1f5fc30e /railties
parent5879a2e9192dc9b6e1e17d2b6d14b26df96ff41b (diff)
downloadrails-c7e5c27b51154b3c3a164cf84f08425b2e00e1d8.tar.gz
rails-c7e5c27b51154b3c3a164cf84f08425b2e00e1d8.tar.bz2
rails-c7e5c27b51154b3c3a164cf84f08425b2e00e1d8.zip
Added automatic browser launching on OS X when starting script/server [DHH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2960 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'railties')
-rw-r--r--railties/CHANGELOG4
-rw-r--r--railties/lib/commands/servers/lighttpd.rb5
-rw-r--r--railties/lib/commands/servers/webrick.rb3
-rw-r--r--railties/lib/webrick_server.rb4
4 files changed, 12 insertions, 4 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG
index 2abf4f9d9a..a053835eba 100644
--- a/railties/CHANGELOG
+++ b/railties/CHANGELOG
@@ -1,6 +1,8 @@
*SVN*
-* Changed all script/* to use #!/usr/bin/env ruby instead of hard-coded Ruby path. public/dispatcher.* still uses the hard-coded path for compatibility with web servers that doesn't have Ruby in path [DHH]
+* Added automatic browser launching on OS X when starting script/server [DHH]
+
+* Changed all script/* to use #!/usr/bin/env ruby instead of hard-coded Ruby path. public/dispatcher.* still uses the hard-coded path for compatibility with web servers that don't have Ruby in path [DHH]
* Force RAILS_ENV to be "test" when running tests, so that ENV["RAILS_ENV"] = "production" in config/environment.rb doesn't wreck havok [DHH] #2660
diff --git a/railties/lib/commands/servers/lighttpd.rb b/railties/lib/commands/servers/lighttpd.rb
index 0205e10c0a..6e3da4a9f8 100644
--- a/railties/lib/commands/servers/lighttpd.rb
+++ b/railties/lib/commands/servers/lighttpd.rb
@@ -52,5 +52,6 @@ else
end)
end
-trap(:INT) {exit}
-`lighttpd #{!detach ? "-D " : ""}-f #{config_file}`
+trap(:INT) { exit }
+Thread.new { sleep 0.5; `open http://0.0.0.0:#{port}` } if RUBY_PLATFORM =~ /darwin/
+`lighttpd #{!detach ? "-D " : ""}-f #{config_file}` \ No newline at end of file
diff --git a/railties/lib/commands/servers/webrick.rb b/railties/lib/commands/servers/webrick.rb
index db8e8b3d93..d06e3309bd 100644
--- a/railties/lib/commands/servers/webrick.rb
+++ b/railties/lib/commands/servers/webrick.rb
@@ -8,7 +8,8 @@ OPTIONS = {
:server_root => File.expand_path(RAILS_ROOT + "/public/"),
:server_type => WEBrick::SimpleServer,
:charset => "UTF-8",
- :mime_types => WEBrick::HTTPUtils::DefaultMimeTypes
+ :mime_types => WEBrick::HTTPUtils::DefaultMimeTypes,
+ :open_in_browser => true
}
ARGV.options do |opts|
diff --git a/railties/lib/webrick_server.rb b/railties/lib/webrick_server.rb
index f356eaf35e..74d5c08488 100644
--- a/railties/lib/webrick_server.rb
+++ b/railties/lib/webrick_server.rb
@@ -66,6 +66,10 @@ class DispatchServlet < WEBrick::HTTPServlet::AbstractServlet
require File.join(@server_options[:server_root], "..", "config", "environment") unless defined?(RAILS_ROOT)
require "dispatcher"
+ if options[:open_in_browser] && RUBY_PLATFORM =~ /darwin/
+ Thread.new { sleep 0.5; `open http://#{options[:ip]}:#{options[:port]}` }
+ end
+
server.start
end