class Rails::Server
Public Class Methods
Calls superclass method
# File railties/lib/rails/commands/server.rb, line 42 def initialize(*) super set_environment end
Public Instance Methods
TODO: this is no longer required but we keep it for the moment to support older config.ru files.
Calls superclass method
# File railties/lib/rails/commands/server.rb, line 48
def app
@app ||= begin
app = super
app.respond_to?(:to_app) ? app.to_app : app
end
end Calls superclass method
# File railties/lib/rails/commands/server.rb, line 96
def default_options
super.merge({
Port: 3000,
DoNotReverseLookup: true,
environment: (ENV['RAILS_ENV'] || ENV['RACK_ENV'] || "development").dup,
daemonize: false,
debugger: false,
pid: File.expand_path("tmp/pids/server.pid"),
config: File.expand_path("config.ru")
})
end # File railties/lib/rails/commands/server.rb, line 92
def log_path
"log/#{options[:environment]}.log"
end # File railties/lib/rails/commands/server.rb, line 76
def middleware
middlewares = []
middlewares << [Rails::Rack::Debugger] if options[:debugger]
middlewares << [::Rack::ContentLength]
# FIXME: add Rack::Lock in the case people are using webrick.
# This is to remain backwards compatible for those who are
# running webrick in production. We should consider removing this
# in development.
if server.name == 'Rack::Handler::WEBrick'
middlewares << [::Rack::Lock]
end
Hash.new(middlewares)
end # File railties/lib/rails/commands/server.rb, line 55 def opt_parser Options.new end
# File railties/lib/rails/commands/server.rb, line 59 def set_environment ENV["RAILS_ENV"] ||= options[:environment] end
Calls superclass method
# File railties/lib/rails/commands/server.rb, line 63
def start
print_boot_information
trap(:INT) { exit }
create_tmp_directories
log_to_stdout if options[:log_stdout]
super
ensure
# The '-h' option calls exit before @options is set.
# If we call 'options' with it unset, we get double help banners.
puts 'Exiting' unless @options && options[:daemonize]
end
© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.