class Rails::Server
Public Class Methods
# File railties/lib/rails/commands/server.rb, line 53 def initialize(*) super set_environment end
Calls superclass method
Public Instance Methods
# 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
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 109 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
Calls superclass method
# File railties/lib/rails/commands/server.rb, line 105 def log_path "log/#{options[:environment]}.log" end
# File railties/lib/rails/commands/server.rb, line 87 def middleware middlewares = [] if RUBY_VERSION < '2.0.0' middlewares << [Rails::Rack::Debugger] if options[: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
# File railties/lib/rails/commands/server.rb, line 66 def opt_parser Options.new end
# File railties/lib/rails/commands/server.rb, line 70 def set_environment ENV["RAILS_ENV"] ||= options[:environment] end
# File railties/lib/rails/commands/server.rb, line 74 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
Calls superclass method
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.