Module: PeRbac::Group
- Defined in:
- lib/pe_rbac/group.rb
Class Method Summary collapse
- .create_group(login, role_ids = []) ⇒ Object
- .delete_group(login) ⇒ Object
- .ensure_group(login, role_ids) ⇒ Object
- .get_group(id) ⇒ Object
-
.get_group_id(login) ⇒ Object
get the user id for a login or false if missing eg ‘admin’ => ‘42bf351c-f9ec-40af-84ad-e976fec7f4bd’.
- .get_groups ⇒ Object
- .update_group(login, role_ids = []) ⇒ Object
Class Method Details
.create_group(login, role_ids = []) ⇒ Object
57 58 59 60 61 62 63 64 65 66 |
# File 'lib/pe_rbac/group.rb', line 57 def self.create_group(login, role_ids=[]) # completely different to what the PE console sends... :/ # Elegantly convert role_ids to an array if it isn't one already group={ "login" => login, "role_ids" => Array(role_ids), } PeRbac::Core::request(:post, '/groups', group) ? true : false end |
.delete_group(login) ⇒ Object
80 81 82 83 84 85 86 87 |
# File 'lib/pe_rbac/group.rb', line 80 def self.delete_group(login) group = get_group(get_group_id(login)) status = false if group PeRbac::Core::request(:delete, "/groups/#{group['id']}") ? true : false end status end |
.ensure_group(login, role_ids) ⇒ Object
46 47 48 49 50 51 52 53 54 55 |
# File 'lib/pe_rbac/group.rb', line 46 def self.ensure_group(login, role_ids) if get_group_id(login) # existing group update_group(login, role_ids) else # new group create_group(login, role_ids) end end |
.get_group(id) ⇒ Object
41 42 43 44 |
# File 'lib/pe_rbac/group.rb', line 41 def self.get_group(id) resp = PeRbac::Core::request(:get, "/groups/#{id}") resp ? JSON.parse(resp.body) : false end |
.get_group_id(login) ⇒ Object
get the user id for a login or false if missing eg ‘admin’ => ‘42bf351c-f9ec-40af-84ad-e976fec7f4bd’
28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/pe_rbac/group.rb', line 28 def self.get_group_id(login) groups = get_groups id = false i = 0 while !id and i < groups.length do if groups[i]['login'] == login id = groups[i]['id'] end i += 1 end id end |
.get_groups ⇒ Object
22 23 24 |
# File 'lib/pe_rbac/group.rb', line 22 def self.get_groups JSON.parse(PeRbac::Core::request(:get, '/groups').body) end |
.update_group(login, role_ids = []) ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/pe_rbac/group.rb', line 68 def self.update_group(login, role_ids=[]) group = get_group(get_group_id(login)) status = false if group group['login'] = login ? login : group['login'] group['role_ids'] = role_ids ? Array(role_ids) : group['role_ids'] status = PeRbac::Core::request(:put, "/groups/#{group['id']}", group) ? true : false end status end |