lib/kasket.rb in kasket-0.5.2 vs lib/kasket.rb in kasket-0.5.3

- old
+ new

@@ -1,14 +1,17 @@ require 'rubygems' require 'active_record' require 'active_support' -require 'kasket/configuration_mixin' -require 'kasket/reload_association_mixin' -require 'kasket/cache' +require 'kasket/active_record_patches' module Kasket + autoload :Cache, 'kasket/cache' + autoload :ConfigurationMixin, 'kasket/configuration_mixin' + autoload :ReloadAssociationMixin, 'kasket/reload_association_mixin' + autoload :RackMiddleware, 'kasket/rack_middleware' + CONFIGURATION = {:max_collection_size => 100} module_function def cache @@ -21,16 +24,23 @@ ActiveRecord::Base.extend(Kasket::ConfigurationMixin) ActiveRecord::Associations::BelongsToAssociation.send(:include, Kasket::ReloadAssociationMixin) ActiveRecord::Associations::BelongsToPolymorphicAssociation.send(:include, Kasket::ReloadAssociationMixin) ActiveRecord::Associations::HasOneThroughAssociation.send(:include, Kasket::ReloadAssociationMixin) - #sets up local cache clearing after each request + #sets up local cache clearing on rack begin - ApplicationController.after_filter do + ActionController::Dispatcher.middleware.use(Kasket::RackMiddleware) + rescue NameError => e + puts('WARNING: The kasket rack middleware is not in your rack stack') + end + + #sets up local cache clearing before each request. + #this is done to make it work for non rack rails and for functional tests + begin + ApplicationController.before_filter do Kasket.cache.clear_local end rescue NameError => e - end #sets up local cache clearing after each test case begin ActiveSupport::TestCase.class_eval do