def self.run
Dir[Merb.framework_root / "merb-core" / "dispatch" / "session" / "*.rb"].each do |file|
base_name = File.basename(file, ".rb")
require file unless base_name == "container" || base_name == "store_container"
end
Merb::Config[:session_id_key] ||= "_session_id"
config_stores = Merb::Config.session_stores
Merb::SessionContainer.subclasses.each do |class_name|
if(store = Object.full_const_get(class_name)) &&
config_stores.include?(store.session_store_type)
Merb::Request.register_session_type(store.session_store_type, class_name)
end
end
overrides = (Merb::Session.instance_methods & Merb::SessionContainer.instance_methods)
overrides.each do |m|
Merb.logger.warn!("Warning: Merb::Session##{m} overrides existing " \
"Merb::SessionContainer##{m}")
end
Merb::SessionContainer.send(:include, Merb::Session)
nil
end