Class: EasyAdmin::Permissions::RolePermissionDSL

Inherits:
Object
  • Object
show all
Defined in:
lib/easy_admin/permissions/role_dsl.rb

Instance Method Summary collapse

Constructor Details

#initialize(role_definition) ⇒ RolePermissionDSL

Returns a new instance of RolePermissionDSL.



39
40
41
# File 'lib/easy_admin/permissions/role_dsl.rb', line 39

def initialize(role_definition)
  @role = role_definition
end

Instance Method Details

#can(actions, resource) ⇒ Object

Grant permissions



44
45
46
# File 'lib/easy_admin/permissions/role_dsl.rb', line 44

def can(actions, resource)
  @role.can(actions, resource)
end

#cannot(actions, resource) ⇒ Object

Deny permissions



49
50
51
# File 'lib/easy_admin/permissions/role_dsl.rb', line 49

def cannot(actions, resource)
  @role.cannot(actions, resource)
end

#manage(resource) ⇒ Object

Grant all CRUD permissions



54
55
56
# File 'lib/easy_admin/permissions/role_dsl.rb', line 54

def manage(resource)
  @role.manage(resource)
end

#manage_all_resourcesObject

Grant permissions for all registered EasyAdmin resources



59
60
61
62
63
# File 'lib/easy_admin/permissions/role_dsl.rb', line 59

def manage_all_resources
  EasyAdmin::Permissions.available_resources.each do |resource|
    manage(resource)
  end
end

#read_all_resourcesObject

Grant read-only access to all resources



66
67
68
69
70
# File 'lib/easy_admin/permissions/role_dsl.rb', line 66

def read_all_resources
  EasyAdmin::Permissions.available_resources.each do |resource|
    can(:read, resource)
  end
end