Module: DoRole

Defined in:
lib/do_role.rb,
lib/do_role/role.rb,
lib/do_role/ability.rb,
lib/do_role/version.rb,
lib/do_role/concerns/model.rb,
lib/do_role/permission_set.rb,
lib/do_role/conditions_proxy.rb,
lib/do_role/permission_audit.rb,
lib/do_role/concerns/role_model.rb,
lib/do_role/permission_set_manager.rb,
lib/do_role/concerns/permission_manageable.rb,
lib/generators/do_role/install/install_generator.rb

Defined Under Namespace

Modules: Generators, Model, PermissionManageable, RoleModel Classes: Ability, ConditionsProxy, Error, PermissionAudit, PermissionSet, PermissionSetManager, Role

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.ability_for(user) ⇒ Object



49
50
51
# File 'lib/do_role.rb', line 49

def ability_for(user)
  Ability.new(user)
end

.permission_set(namespace = :default, inherit_from: [], &block) ⇒ Object



24
25
26
27
28
29
30
31
# File 'lib/do_role.rb', line 24

def permission_set(namespace = :default, inherit_from: [], &block)
  set = permission_set_manager.for_namespace(namespace)
  if inherit_from.any?
    permission_set_manager.set_inheritance(namespace, inherit_from)
  end
  set.draw(&block) if block_given?
  set
end

.permission_set_managerObject



20
21
22
# File 'lib/do_role.rb', line 20

def permission_set_manager
  @permission_set_manager ||= PermissionSetManager.new
end

.permissions(namespace = :default) ⇒ Object



41
42
43
# File 'lib/do_role.rb', line 41

def permissions(namespace = :default)
  permission_set_manager.permissions_for(namespace)
end

.reset_permissions(namespace = :default) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/do_role.rb', line 33

def reset_permissions(namespace = :default)
  if namespace == :all
    permission_set_manager.clear
  else
    permission_set_manager.remove_namespace(namespace)
  end
end

.valid_permission?(permission_name, namespace = :default) ⇒ Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/do_role.rb', line 45

def valid_permission?(permission_name, namespace = :default)
  permission_set_manager.valid_permission?(namespace, permission_name)
end