Class: Rails::Server
Relationships & Source Files | |
Namespace Children | |
Classes:
| |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
Rack::Server
|
|
Instance Chain:
self,
Rack::Server
|
|
Inherits: |
Rack::Server
|
Defined in: | railties/lib/rails/commands/server.rb |
Class Method Summary
- .new ⇒ Server constructor
Instance Method Summary
-
#app
TODO: this is no longer required but we keep it for the moment to support older config.ru files.
- #default_options
- #log_path
- #middleware
- #opt_parser
- #set_environment
- #start
Constructor Details
.new ⇒ Server
# File 'railties/lib/rails/commands/server.rb', line 53
def initialize(*) super set_environment end
Instance Method Details
#app
TODO: this is no longer required but we keep it for the moment to support older config.ru files.
# File 'railties/lib/rails/commands/server.rb', line 59
def app @app ||= begin app = super app.respond_to?(:to_app) ? app.to_app : app end end
#default_options
[ GitHub ]#log_path
[ GitHub ]# File 'railties/lib/rails/commands/server.rb', line 105
def log_path "log/#{ [:environment]}.log" end
#middleware
[ GitHub ]# File 'railties/lib/rails/commands/server.rb', line 87
def middleware middlewares = [] if RUBY_VERSION < '2.0.0' middlewares << [Rails::Rack::Debugger] if [:debugger] end 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
#opt_parser
[ GitHub ]#set_environment
[ GitHub ]# File 'railties/lib/rails/commands/server.rb', line 70
def set_environment ENV["RAILS_ENV"] ||= [:environment] end
#start
[ GitHub ]# File 'railties/lib/rails/commands/server.rb', line 74
def start print_boot_information trap(:INT) { exit } create_tmp_directories log_to_stdout if [: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 && [:daemonize] end