2009-09-26 02:32:28 +00:00
|
|
|
module Rails
|
|
|
|
class Application
|
2009-10-07 22:21:19 +00:00
|
|
|
extend Initializable
|
|
|
|
|
|
|
|
def self.inherited(child)
|
|
|
|
child.initializers = initializers.dup
|
|
|
|
end
|
2009-09-29 00:57:36 +00:00
|
|
|
|
2009-09-30 00:33:17 +00:00
|
|
|
def self.config
|
|
|
|
@config ||= Configuration.new
|
|
|
|
end
|
|
|
|
|
|
|
|
def self.config=(config)
|
|
|
|
@config = config
|
|
|
|
end
|
|
|
|
|
2009-10-07 22:21:19 +00:00
|
|
|
def self.routes
|
2009-09-29 23:07:29 +00:00
|
|
|
ActionController::Routing::Routes
|
2009-09-26 02:32:28 +00:00
|
|
|
end
|
|
|
|
|
2009-10-07 22:21:19 +00:00
|
|
|
def self.middleware
|
2009-09-29 00:57:36 +00:00
|
|
|
config.middleware
|
|
|
|
end
|
|
|
|
|
2009-10-07 22:21:19 +00:00
|
|
|
def self.call(env)
|
2009-09-30 00:33:17 +00:00
|
|
|
@app ||= middleware.build(routes)
|
2009-09-26 02:32:28 +00:00
|
|
|
@app.call(env)
|
|
|
|
end
|
2009-10-07 22:21:19 +00:00
|
|
|
|
|
|
|
def self.new
|
|
|
|
initializers.run
|
|
|
|
self
|
|
|
|
end
|
|
|
|
|
|
|
|
initializer :initialize_rails do
|
|
|
|
Rails.initializers.run
|
|
|
|
end
|
|
|
|
|
|
|
|
# Set the <tt>$LOAD_PATH</tt> based on the value of
|
|
|
|
# Configuration#load_paths. Duplicates are removed.
|
|
|
|
initializer :set_load_path do
|
|
|
|
config.paths.add_to_load_path
|
|
|
|
$LOAD_PATH.uniq!
|
|
|
|
end
|
|
|
|
|
|
|
|
# Bail if boot.rb is outdated
|
|
|
|
initializer :freak_out_if_boot_rb_is_outdated do
|
|
|
|
unless defined?(Rails::BOOTSTRAP_VERSION)
|
|
|
|
abort %{Your config/boot.rb is outdated: Run "rake rails:update".}
|
|
|
|
end
|
|
|
|
end
|
2009-09-26 02:32:28 +00:00
|
|
|
end
|
|
|
|
end
|