Method: Padrino.detect_application

Defined in:
padrino-core/lib/padrino-core/server.rb

.detect_application(options) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
# File 'padrino-core/lib/padrino-core/server.rb', line 18

def self.detect_application(options)
  default_config_file = 'config.ru'
  if (config_file = options.delete(:config)) || File.file?(default_config_file)
    config_file ||= default_config_file
    fail "Rack config file `#{config_file}` must have `.ru` extension" unless config_file =~ /\.ru$/
    rack_app, rack_options = Rack::Builder.parse_file(config_file)
    [rack_app, (rack_options || {}).merge(options)]
  else
    [Padrino.application, options]
  end
end