Sha256: c2b7f3f779dbf6b7384d85719d73d24a8b22c4489c6195f7749e2938f2d3fd69

Contents?: true

Size: 813 Bytes

Versions: 14

Compression:

Stored size: 813 Bytes

Contents

module CanTango
  class Ability
    class Cache
      class Writer
        attr_reader :cache

        def initialize cache
          @cache = cache
        end

        def save key, rules
          cache.invalidate!
          cache.rules_cache.save cache.key, prepared_rules
          session[:cache_key] = cache.key if session
        end

        protected

        def prepared_rules
          cache.compile_on? ? compiler.compile!(rules) : rules
        end

        def rules
          return cache.cached_rules if cache.cached_rules?
          cache.ability.send :rules # bad!? FIXME
        end

        def compiler
          cache.compiler
        end

        def session
          cache.session
        end

        def rules_cache
          cache.rules_cache
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
cantango-0.9.3.2 lib/cantango/ability/cache/writer.rb
cantango-0.8.9.5 lib/cantango/ability/cache/writer.rb
cantango-0.8.9.4 lib/cantango/ability/cache/writer.rb
cantango-0.8.9.3 lib/cantango/ability/cache/writer.rb
cantango-0.8.9.2 lib/cantango/ability/cache/writer.rb
cantango-0.8.9.1 lib/cantango/ability/cache/writer.rb
cantango-0.8.9 lib/cantango/ability/cache/writer.rb
cantango-0.8.8.1 lib/cantango/ability/cache/writer.rb
cantango-0.8.8 lib/cantango/ability/cache/writer.rb
cantango-0.8.7 lib/cantango/ability/cache/writer.rb
cantango-0.8.6.2 lib/cantango/ability/cache/writer.rb
cantango-0.8.6.1 lib/cantango/ability/cache/writer.rb
cantango-0.8.6 lib/cantango/ability/cache/writer.rb
cantango-0.8.5.1 lib/cantango/ability/cache/writer.rb