Methods

Class Index [+]

Quicksearch

Merb::BootLoader::SetupSession

Public Class Methods

run() click to toggle source

Enable the configured session container(s); any class that inherits from SessionContainer will be considered by its session_store_type attribute.

Returns

nil

:api: plugin

      # File lib/merb-core/bootloader.rb, line 1222
1222:   def self.run
1223:     # Require all standard session containers.
1224:     Dir[Merb.framework_root / "merb-core" / "dispatch" / "session" / "*.rb"].each do |file|
1225:       base_name = File.basename(file, ".rb")
1226:       require file unless base_name == "container" || base_name == "store_container"
1227:     end
1228: 
1229:     # Set some defaults.
1230:     Merb::Config[:session_id_key] ||= "_session_id"
1231: 
1232:     # List of all session_stores from :session_stores and :session_store config options.
1233:     config_stores = Merb::Config.session_stores
1234: 
1235:     # Register all configured session stores - any loaded session container class
1236:     # (subclassed from Merb::SessionContainer) will be available for registration.
1237:     Merb::SessionContainer.subclasses.each do |class_name|
1238:       if(store = Object.full_const_get(class_name)) &&
1239:         config_stores.include?(store.session_store_type)
1240:           Merb::Request.register_session_type(store.session_store_type, class_name)
1241:       end
1242:     end
1243: 
1244:     # Mixin the Merb::Session module to add app-level functionality to sessions
1245:     overrides = (Merb::Session.instance_methods & Merb::SessionContainer.instance_methods)
1246:     overrides.each do |m| 
1247:       Merb.logger.warn!("Warning: Merb::Session##{m} overrides existing "                          "Merb::SessionContainer##{m}")
1248:     end    
1249:     Merb::SessionContainer.send(:include, Merb::Session)
1250:     nil
1251:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.