Class: EasyAdmin::Permissions::RoleDSL
- Inherits:
-
Object
- Object
- EasyAdmin::Permissions::RoleDSL
- Defined in:
- lib/easy_admin/permissions/role_dsl.rb
Instance Attribute Summary collapse
-
#roles ⇒ Object
readonly
Returns the value of attribute roles.
Instance Method Summary collapse
-
#all_roles ⇒ Object
Get all roles.
-
#get_role(slug) ⇒ Object
Get role by slug.
-
#initialize ⇒ RoleDSL
constructor
A new instance of RoleDSL.
-
#role(name, slug: nil, description: nil, &block) ⇒ Object
Define a role with permissions.
-
#role_slugs ⇒ Object
Get all role slugs.
Constructor Details
#initialize ⇒ RoleDSL
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
#roles ⇒ Object (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_roles ⇒ Object
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_slugs ⇒ Object
Get all role slugs
28 29 30 |
# File 'lib/easy_admin/permissions/role_dsl.rb', line 28 def role_slugs @roles.keys end |