123456789_123456789_123456789_123456789_123456789_

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/server_command.rb

Class Method Summary

Instance Method Summary

Constructor Details

.new(options = nil) ⇒ Server

[ GitHub ]

  
# File 'railties/lib/rails/commands/server/server_command.rb', line 19

def initialize(options = nil)
  @default_options = options || {}
  super(@default_options)
  set_environment
end

Instance Method Details

#app

[ GitHub ]

  
# File 'railties/lib/rails/commands/server/server_command.rb', line 25

def app
  @app ||= begin
    app = super
    if app.is_a?(Class)
      ActiveSupport::Deprecation.warn(<<-MSG.squish)
        Using `Rails::Application` subclass to start the server is deprecated and will be removed in Rails 6.0.
        Please change `run #{app}` to `run Rails.application` in config.ru.
      MSG
    end
    app.respond_to?(:to_app) ? app.to_app : app
  end
end

#default_options

[ GitHub ]

  
# File 'railties/lib/rails/commands/server/server_command.rb', line 64

def default_options
  super.merge(@default_options)
end

#middleware

[ GitHub ]

  
# File 'railties/lib/rails/commands/server/server_command.rb', line 60

def middleware
  Hash.new([])
end

#opt_parser

[ GitHub ]

  
# File 'railties/lib/rails/commands/server/server_command.rb', line 38

def opt_parser
  Options.new
end

#set_environment

[ GitHub ]

  
# File 'railties/lib/rails/commands/server/server_command.rb', line 42

def set_environment
  ENV["RAILS_ENV"] ||= options[:environment]
end

#start

[ GitHub ]

  
# File 'railties/lib/rails/commands/server/server_command.rb', line 46

def start
  print_boot_information
  trap(:INT) { exit }
  create_tmp_directories
  setup_dev_caching
  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