Method: Rackup::Handler.pick

Defined in:
lib/rackup/handler.rb

.pick(server_names) ⇒ Object

Select first available Rack handler given an Array of server names. Raises LoadError if no handler was found.

> pick ['puma', 'webrick']
=> Rackup::Handler::WEBrick

Raises:

  • (LoadError)


69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/rackup/handler.rb', line 69

def self.pick(server_names)
  server_names = Array(server_names)

  server_names.each do |server_name|
    begin
      server = self.get(server_name)
     return server if server
    rescue LoadError
      # Ignore.
    end
  end

  raise LoadError, "Couldn't find handler for: #{server_names.join(', ')}."
end