refactoring
[sinatra.git] / lib / sinatra.rb
blobcb7e514e4b25579c27a049b5550e47e3e4250703
1 %w(rubygems rack).each do |library|
2   begin
3     require library
4   rescue LoadError
5     raise "== Sinatra cannot run without #{library} installed"
6   end
7 end
9 require File.dirname(__FILE__) + '/sinatra/core_ext/class'
10 require File.dirname(__FILE__) + '/sinatra/core_ext/hash'
12 require File.dirname(__FILE__) + '/sinatra/logger'
13 require File.dirname(__FILE__) + '/sinatra/event'
14 require File.dirname(__FILE__) + '/sinatra/dispatcher'
15 require File.dirname(__FILE__) + '/sinatra/server'
16 require File.dirname(__FILE__) + '/sinatra/dsl'
18 SINATRA_LOGGER = Sinatra::Logger.new(STDOUT)
20 def set_logger(logger = SINATRA_LOGGER)
21   [Sinatra::Server, Sinatra::EventContext, Sinatra::Event, Sinatra::Dispatcher].each do |klass|
22     klass.logger = logger
23   end
24 end
26 set_logger
28 SINATRA_ROOT = File.dirname(__FILE__) + '/..'
30 Dir.glob(SINATRA_ROOT + '/vendor/*/init.rb').each do |plugin|
31   require plugin
32 end
34 at_exit do
35   Sinatra::Server.new.start unless Sinatra::Server.running
36 end