Class: CanTango::PermissionEngine

Inherits:
Engine
  • Object
show all
Defined in:
lib/cantango/adapter/moneta.rb,
lib/cantango/permission_engine.rb,
lib/cantango/permission_engine/store.rb,
lib/cantango/permission_engine/loader.rb,
lib/cantango/permission_engine/parser.rb,
lib/cantango/permission_engine/factory.rb,
lib/cantango/permission_engine/compiler.rb,
lib/cantango/permission_engine/selector.rb,
lib/cantango/permission_engine/collector.rb,
lib/cantango/permission_engine/evaluator.rb,
lib/cantango/permission_engine/statement.rb,
lib/cantango/permission_engine/permission.rb,
lib/cantango/permission_engine/statements.rb,
lib/cantango/permission_engine/yaml_store.rb,
lib/cantango/permission_engine/loader/base.rb,
lib/cantango/permission_engine/parser/rule.rb,
lib/cantango/permission_engine/moneta_store.rb,
lib/cantango/permission_engine/parser/regex.rb,
lib/cantango/permission_engine/selector/base.rb,
lib/cantango/permission_engine/parser/default.rb,
lib/cantango/permission_engine/selector/roles.rb,
lib/cantango/permission_engine/selector/users.rb,
lib/cantango/permission_engine/parser/category.rb,
lib/cantango/permission_engine/parser/ownership.rb,
lib/cantango/permission_engine/loader/categories.rb,
lib/cantango/permission_engine/parser/categories.rb,
lib/cantango/permission_engine/selector/licenses.rb,
lib/cantango/permission_engine/loader/permissions.rb,
lib/cantango/permission_engine/parser/permissions.rb,
lib/cantango/permission_engine/parser/relationship.rb,
lib/cantango/permission_engine/selector/user_types.rb,
lib/cantango/permission_engine/selector/role_groups.rb,
lib/cantango/permission_engine/selector/account_types.rb

Defined Under Namespace

Modules: Loader, Parser, Selector Classes: Collector, Compiler, Evaluator, Factory, MonetaStore, Permission, Statement, Statements, Store, YamlStore

Instance Attribute Summary

Attributes inherited from Engine

#ability

Instance Method Summary collapse

Constructor Details

#initialize(ability) ⇒ PermissionEngine

Returns a new instance of PermissionEngine.



7
8
9
# File 'lib/cantango/permission_engine.rb', line 7

def initialize ability
  super
end

Instance Method Details

#execute!Object



11
12
13
14
15
# File 'lib/cantango/permission_engine.rb', line 11

def execute!
  permissions.each do |permission|
    permission.evaluate! user
  end
end

#permissionsObject



17
18
19
# File 'lib/cantango/permission_engine.rb', line 17

def permissions
  permission_factory.build!
end