class Rack::Handler::Unicorn

Constants

DEFAULT_OPTIONS
DEFAULT_PATHS

Public Class Methods

run(app, options = {}) click to toggle source
# File lib/unicorn/padrino.rb, line 22
def run(app, options = {})
  unicorn_options = {}
  
  if config_file = detect_configuration_file
    unicorn_options[:config_file] = "#{root}/#{config_file}"
  else
    unicorn_options.merge!(DEFAULT_OPTIONS)
    (unicorn_options[:listeners] = []) << "#{options[:Host]}:#{options[:Port]}"
  end
  
  if options[:daemonize]
    unicorn_options[:pid] = options[:pid]
    ::Unicorn::Launcher.daemonize!(unicorn_options)
  end
  ::Unicorn::HttpServer.new(app, unicorn_options).start.join
end

Private Class Methods

detect_configuration_file() click to toggle source
# File lib/unicorn/padrino.rb, line 41
def detect_configuration_file
  DEFAULT_PATHS.detect{|path| ::File.exist?("#{root}/#{path.gsub!("{env}", env) || path}") }
end
env() click to toggle source
# File lib/unicorn/padrino.rb, line 45
def env
  ENV["RACK_ENV"]
end
root() click to toggle source
# File lib/unicorn/padrino.rb, line 49
def root
  defined?(PADRINO_ROOT) ? PADRINO_ROOT : File.expand_path(".")
end