in lib/puma/launcher.rb [42:93]
def initialize(conf, launcher_args={})
@runner = nil
@events = launcher_args[:events] || Events::DEFAULT
@argv = launcher_args[:argv] || []
@original_argv = @argv.dup
@config = conf
@binder = Binder.new(@events)
@binder.import_from_env
@environment = conf.environment
Puma.cli_config = @config if defined?(Puma.cli_config)
@config.load
@options = @config.options
@config.clamp
@events.formatter = Events::PidFormatter.new if clustered?
@events.formatter = options[:log_formatter] if @options[:log_formatter]
generate_restart_data
if clustered? && !Process.respond_to?(:fork)
unsupported "worker mode not supported on #{RUBY_ENGINE} on this platform"
end
if @options[:daemon] && Puma.windows?
unsupported 'daemon mode not supported on Windows'
end
Dir.chdir(@restart_dir)
prune_bundler if prune_bundler?
@environment = @options[:environment] if @options[:environment]
set_rack_environment
if clustered?
@options[:logger] = @events
@runner = Cluster.new(self, @events)
else
@runner = Single.new(self, @events)
end
Puma.stats_object = @runner
@status = :run
end