Class: Rails::Server
- Defined in:
- railties/lib/rails/commands/server.rb
Defined Under Namespace
Classes: Options
Instance Method Summary collapse
- #app ⇒ Object
- #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.
40 41 42 43 |
# File 'railties/lib/rails/commands/server.rb', line 40 def initialize(*) super set_environment end |
Instance Method Details
#app ⇒ Object
45 46 47 |
# File 'railties/lib/rails/commands/server.rb', line 45 def app @app ||= super.respond_to?(:to_app) ? super.to_app : super end |
#default_options ⇒ Object
89 90 91 92 93 94 95 96 97 98 |
# File 'railties/lib/rails/commands/server.rb', line 89 def super.merge({ :Port => 3000, :environment => (ENV['RAILS_ENV'] || "development").dup, :daemonize => false, :debugger => false, :pid => File.("tmp/pids/server.pid"), :config => File.("config.ru") }) end |
#log_path ⇒ Object
85 86 87 |
# File 'railties/lib/rails/commands/server.rb', line 85 def log_path "log/#{[:environment]}.log" end |
#middleware ⇒ Object
77 78 79 80 81 82 83 |
# File 'railties/lib/rails/commands/server.rb', line 77 def middleware middlewares = [] middlewares << [Rails::Rack::LogTailer, log_path] unless [:daemonize] middlewares << [Rails::Rack::Debugger] if [:debugger] middlewares << [Rails::Rack::ContentLength] Hash.new(middlewares) end |
#opt_parser ⇒ Object
49 50 51 |
# File 'railties/lib/rails/commands/server.rb', line 49 def opt_parser Options.new end |
#set_environment ⇒ Object
53 54 55 |
# File 'railties/lib/rails/commands/server.rb', line 53 def set_environment ENV["RAILS_ENV"] ||= [:environment] end |
#start ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'railties/lib/rails/commands/server.rb', line 57 def start url = "#{[:SSLEnable] ? 'https' : 'http'}://#{[:Host]}:#{[:Port]}" puts "=> Booting #{ActiveSupport::Inflector.demodulize(server)}" puts "=> Rails #{Rails.version} application starting in #{Rails.env} on #{url}" puts "=> Call with -d to detach" unless [:daemonize] trap(:INT) { exit } puts "=> Ctrl-C to shutdown server" unless [:daemonize] #Create required tmp directories if not found %w(cache pids sessions sockets).each do |dir_to_make| FileUtils.mkdir_p(Rails.root.join('tmp', dir_to_make)) end 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 |