Sha256: 757b04efe4ccd9d71597a3f8f74f79d159bac7ee469a3994c03643fadbfeb25a
Contents?: true
Size: 1.13 KB
Versions: 7
Compression:
Stored size: 1.13 KB
Contents
module CanTango class Ability module Executor include CanTango::Helpers::Debug include CanTango::Ability::CacheHelpers delegate :session, :user, :subject, :candidate, :cached?, :to => :ability def execute! return if !valid? start_execute return cached_rules if cached? && cached_rules? clear_rules! permit_rules cache_rules! if cached? end_execute rules end def rules @rules ||= [] end def clear_rules! @rules ||= [] end def permit_rules raise NotImplementedError end def cache @cache ||= CanTango::Ability::Cache.new self, :cache_key => cache_key, :key_method_names => key_method_names end def engine_name :permit end def valid? raise NotImplementedError end protected def start_execute debug "executing..." end def end_execute debug "DONE" end def cache_key raise NotImplementedError end def key_method_names [] end end end end
Version data entries
7 entries across 7 versions & 1 rubygems