diff options
-rw-r--r-- | railties/CHANGELOG | 2 | ||||
-rw-r--r-- | railties/lib/commands/servers/mongrel.rb | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/railties/CHANGELOG b/railties/CHANGELOG index 0d1c70f5cc..939c771889 100644 --- a/railties/CHANGELOG +++ b/railties/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Use custom mime file for script/server mongrel if config/mime.yml exists. Pass --mime=other/path for a custom mime file. [Rick Olson] + * Add custom mime type file for mongrel. config/mime.yml is added with generated apps from the rails command. [Rick Olson] * Update to Prototype 1.5.0_rc2 [5550] which makes it work in Opera again [Thomas Fuchs] diff --git a/railties/lib/commands/servers/mongrel.rb b/railties/lib/commands/servers/mongrel.rb index 98441aca91..6e401adba2 100644 --- a/railties/lib/commands/servers/mongrel.rb +++ b/railties/lib/commands/servers/mongrel.rb @@ -14,14 +14,18 @@ require 'optparse' detach = false ip = nil port = nil +mime = 'config/mime.yml' ARGV.clone.options do |opt| opt.on("-p", "--port=port", Integer, "Runs Rails on the specified port.", "Default: 3000") { |p| port = p } - opt.on("-a", "--binding=ip", String, + opt.on("-a", "--address=ip", String, "Binds Rails to the specified ip.", "Default: 0.0.0.0") { |i| ip = i } + opt.on("-m", "--mime=path", String, + "Path to custom mime file.", + "Default: config/mime.yml (if it exists)") { |m| mime = m } opt.on('-h', '--help', 'Show this message.') { puts opt; exit 0 } opt.on('-d', '-d', 'Call with -d to detach') { detach = true } opt.parse! @@ -43,6 +47,10 @@ end trap(:INT) { exit } +if File.exist?(File.join(RAILS_ROOT, mime)) && !ARGV.any? { |a| a =~ /^--?m/ } + ARGV << "--mime=#{mime}" +end + begin ARGV.unshift("start") load 'mongrel_rails' |