Class: EasyAdmin::Permissions::RoleDSL

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRoleDSL

Returns a new instance of RoleDSL.



6
7
8
# File 'lib/easy_admin/permissions/role_dsl.rb', line 6

def initialize
  @roles = {}
end

Instance Attribute Details

#rolesObject (readonly)

Returns the value of attribute roles.



4
5
6
# File 'lib/easy_admin/permissions/role_dsl.rb', line 4

def roles
  @roles
end

Instance Method Details

#all_rolesObject

Get all roles



33
34
35
# File 'lib/easy_admin/permissions/role_dsl.rb', line 33

def all_roles
  @roles.values
end

#get_role(slug) ⇒ Object

Get role by slug



23
24
25
# File 'lib/easy_admin/permissions/role_dsl.rb', line 23

def get_role(slug)
  @roles[slug.to_s]
end

#role(name, slug: nil, description: nil, &block) ⇒ Object

Define a role with permissions



11
12
13
14
15
16
17
18
19
20
# File 'lib/easy_admin/permissions/role_dsl.rb', line 11

def role(name, slug: nil, description: nil, &block)
  role_def = RoleDefinition.new(name, slug: slug, description: description)
  
  if block_given?
    RolePermissionDSL.new(role_def).instance_eval(&block)
  end
  
  @roles[role_def.slug] = role_def
  role_def
end

#role_slugsObject

Get all role slugs



28
29
30
# File 'lib/easy_admin/permissions/role_dsl.rb', line 28

def role_slugs
  @roles.keys
end