Module: PeRbac::Role
- Defined in:
- lib/pe_rbac/role.rb
Class Method Summary collapse
- .create_role(display_name, description = display_name, permissions = [], user_ids = [], group_ids = []) ⇒ Object
-
.ensure_role(display_name, description, permissions = [], user_ids = []) ⇒ Object
CREATE.
- .get_role(id) ⇒ Object
- .get_role_id(display_name) ⇒ Object
-
.get_roles ⇒ Object
role.
- .update_role(display_name, description = nil, permissions = nil, user_ids = nil, group_ids = nil) ⇒ Object
Class Method Details
.create_role(display_name, description = display_name, permissions = [], user_ids = [], group_ids = []) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/pe_rbac/role.rb', line 56 def self.create_role(display_name, description=display_name, =[], user_ids=[], group_ids=[]) safe_perms = Permission::() role = { "permissions" => safe_perms, "user_ids" => Array(user_ids), "group_ids" => Array(group_ids), "display_name" => display_name, "description" => description, } PeRbac::Core::request(:post, '/roles', role) ? true : false end |
.ensure_role(display_name, description, permissions = [], user_ids = []) ⇒ Object
CREATE
47 48 49 50 51 52 53 |
# File 'lib/pe_rbac/role.rb', line 47 def self.ensure_role(display_name, description, =[], user_ids=[]) if get_role_id(display_name) update_role(display_name, description, , user_ids) else create_role(display_name, description, , user_ids) end end |
.get_role(id) ⇒ Object
28 29 30 31 |
# File 'lib/pe_rbac/role.rb', line 28 def self.get_role(id) resp = PeRbac::Core::request(:get, "/roles/#{id}") resp ? JSON.parse(resp.body) : false end |
.get_role_id(display_name) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/pe_rbac/role.rb', line 33 def self.get_role_id(display_name) i=0 found=false roles = get_roles() while !found and i < roles.length do if roles[i]['display_name'] == display_name found = roles[i]['id'] end i+=1 end found end |
.get_roles ⇒ Object
role
24 25 26 |
# File 'lib/pe_rbac/role.rb', line 24 def self.get_roles JSON.parse(PeRbac::Core::request(:get, "/roles").body) end |
.update_role(display_name, description = nil, permissions = nil, user_ids = nil, group_ids = nil) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/pe_rbac/role.rb', line 69 def self.update_role(display_name, description=nil, =nil, user_ids=nil, group_ids=nil) role_id = get_role_id(display_name) safe_perms = Permission::() status = false if role_id role = get_role(role_id) role['display_name'] = display_name ? display_name : role['display_name'] role['description'] = description ? display_name : role['description'] role['permissions'] = safe_perms ? safe_perms : role['permissions'] role['user_ids'] = user_ids ? Array(user_ids) : role['user_ids'] role['group_ids'] = group_ids ? Array(group_ids) : role['group_ids'] PeRbac::Core::request(:put, "/roles/#{role_id}", role) status = true end status end |