Sha256: dc7a852404e36a08e09fcdb47dd4f03829207446e86211c8f56874e930c97b41

Contents?: true

Size: 717 Bytes

Versions: 7

Compression:

Stored size: 717 Bytes

Contents

module CanTango
  module Ability
    module Executor
      autoload_modules :Base, :Modal

      include CanTango::Helpers::Debug

      include CanTango::Ability::Rules
      include CanTango::Ability::Callbacks

      def self.included(base)
        base.send :include, CanTango::Helpers::Debug
        base.send :include, CanTango::Ability::Rules
        base.send :include, CanTango::Ability::Callbacks
      end

      # the way to abort execution is to raise an exception!
      def execute
        within_callbacks do
          clear_rules!
          calculate_rules
        end
      rescue Exception => e
        debug e.message
      ensure
        @executed = true
        rules
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
cantango-core-0.1.9.3 lib/cantango/ability/executor.rb
cantango-core-0.1.9.2 lib/cantango/ability/executor.rb
cantango-core-0.1.9.1 lib/cantango/ability/executor.rb
cantango-core-0.1.9 lib/cantango/ability/executor.rb
cantango-core-0.1.8 lib/cantango/ability/executor.rb
cantango-core-0.1.7 lib/cantango/ability/executor.rb
cantango-core-0.1.6 lib/cantango/ability/executor.rb