Sha256: 356fd3eeea92b9603d30510fc3d019c46ca180714d0975b07991ebc418af1ded
Contents?: true
Size: 1.21 KB
Versions: 14
Compression:
Stored size: 1.21 KB
Contents
module CanTango class Ability class Cache autoload_modules :BaseCache, :SessionCache, :Reader, :Writer, :RulesCache, :Key attr_reader :rules_cached, :ability def initialize ability @ability = ability end def session ability.session end def cache_rules! writer.save key, reader.prepared_rules end def cached_rules @rules ||= reader.prepared_rules end def compiler @compiler ||= Kompiler.new end def reader @reader ||= Reader.new(self) end def writer @writer ||= Writer.new(self) end def cached_rules? key.same? session end def key @key ||= Key.new ability.user, ability.subject end def rules_cache @rules_cache ||= RulesCache.new(session).instance end def invalidate! raise "no session" if !session rules_cache.invalidate! session[:cache_key] end def compile_on? return false if !compile_adapter? CanTango.config.cache_engine.compile? end def compile_adapter? CanTango.config.adapters.registered?(:compiler) end end end end
Version data entries
14 entries across 14 versions & 1 rubygems