Sha256: b77613ae52bf3ebe6ca36255eac39a1c5fd4aaa66a1376e809c4f4fbc288b8fb
Contents?: true
Size: 902 Bytes
Versions: 3
Compression:
Stored size: 902 Bytes
Contents
module CanTango class AbilityExecutor < CanTango::Ability def initialize candidate, options = {} raise "Candidate must be something!" if !candidate @candidate, @options = [candidate, options] @rules = cached_rules + non_cached_rules rules.flatten! rules.compact! end def rules @rules ||= [] end def cached_rules cache_mode? ? cached_ability.send(:rules) : [] end def non_cached_rules no_cache_mode? ? non_cached_ability.send(:rules) : [] end def cached_ability CanTango::CachedAbility.new candidate, options end def non_cached_ability CanTango::Ability.new candidate, options end protected def no_cache_mode? modes.include?(:no_cache) end def cache_mode? modes.include?(:cache) end def modes CanTango.config.ability.modes end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cantango-0.9.4.7 | lib/cantango/ability_executor.rb |
cantango-0.9.4.6 | lib/cantango/ability_executor.rb |
cantango-0.9.4.5 | lib/cantango/ability_executor.rb |