Class: Rails::Server
- Inherits:
-
Rack::Server
- Object
- Rack::Server
- Rails::Server
- Defined in:
- lib/rails/commands/server.rb
Defined Under Namespace
Classes: Options
Instance Method Summary collapse
-
#app ⇒ Object
TODO: this is no longer required but we keep it for the moment to support older config.ru files.
- #default_options ⇒ Object
-
#initialize ⇒ Server
constructor
A new instance of Server.
- #log_path ⇒ Object
- #middleware ⇒ Object
- #opt_parser ⇒ Object
- #set_environment ⇒ Object
- #start ⇒ Object
Constructor Details
#initialize ⇒ Server
Returns a new instance of Server.
53 54 55 56 |
# File 'lib/rails/commands/server.rb', line 53 def initialize(*) super set_environment end |
Instance Method Details
#app ⇒ Object
TODO: this is no longer required but we keep it for the moment to support older config.ru files.
59 60 61 62 63 64 |
# File '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 ⇒ Object
109 110 111 112 113 114 115 116 117 118 119 |
# File 'lib/rails/commands/server.rb', line 109 def super.merge({ Port: 3000, DoNotReverseLookup: true, environment: (ENV['RAILS_ENV'] || ENV['RACK_ENV'] || "development").dup, daemonize: false, debugger: false, pid: File.("tmp/pids/server.pid"), config: File.("config.ru") }) end |
#log_path ⇒ Object
105 106 107 |
# File 'lib/rails/commands/server.rb', line 105 def log_path "log/#{[:environment]}.log" end |
#middleware ⇒ Object
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File '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 ⇒ Object
66 67 68 |
# File 'lib/rails/commands/server.rb', line 66 def opt_parser Options.new end |
#set_environment ⇒ Object
70 71 72 |
# File 'lib/rails/commands/server.rb', line 70 def set_environment ENV["RAILS_ENV"] ||= [:environment] end |
#start ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 |
# File '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 |