Sha256: bd4d02e53d5d65411d14dd825193a8ab2556ce8e31102f1191e260ab58448296

Contents?: true

Size: 700 Bytes

Versions: 2

Compression:

Stored size: 700 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
        return rules
      rescue Exception => e
        debug e.message
        rules
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cantango-core-0.1.5 lib/cantango/ability/executor.rb
cantango-core-0.1.4 lib/cantango/ability/executor.rb