Class: Matterhorn::Endpoint::Group
- Inherits:
-
Matterhorn::Endpoint
- Object
- Matterhorn::Endpoint
- Matterhorn::Endpoint::Group
- Defined in:
- lib/matterhorn/endpoint/group.rb
Overview
Matterhorn::Endpoint::Group ===
Instance Attribute Summary
Attributes inherited from Matterhorn::Endpoint
#response_body, #response_code
Instance Method Summary collapse
-
#create(name, description = nil, roles = nil, users = nil) ⇒ Object
Create a new group with name and descritption.
-
#delete(group_id) ⇒ Object
————————————————————————————- delete —.
-
#index(offset = 0, limit = 100) ⇒ Object
Return a list of groups as a hash { ‘groups’ => { ‘group’ => [ { ‘id’ => <group_id>, ‘name’ => <name>, ‘description’ => <description>, ‘role’ => <role>, ‘memebers’ => [ <username>, … ], ‘roles’ => [ <role>, …], }, … ] } }.
-
#update(group_id, name, description = nil, roles = nil, users = nil) ⇒ Object
————————————————————————————- update —.
Methods inherited from Matterhorn::Endpoint
#close, create, #error_code, #error_msg, #error_occurred?, #initialize, open
Constructor Details
This class inherits a constructor from Matterhorn::Endpoint
Instance Method Details
#create(name, description = nil, roles = nil, users = nil) ⇒ Object
Create a new group with name and descritption. The group_id will be created from the name -> downcase and underscore. If a role is unknown to the system, it will be created. If a user is unknown only the relation ship beteen the group and the member will be stored. The user will not be created!
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/matterhorn/endpoint/group.rb', line 18 def create(name, description = nil, roles = nil, users = nil) done = false begin split_response http_endpoint_client.post( "groups", convert_to_form_param(name, description, roles, users) ) done = true rescue => ex exception_handler('create', ex, { 400 => "Group name: #{name} too long!" } ) end done end |
#delete(group_id) ⇒ Object
————————————————————————————- delete —
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/matterhorn/endpoint/group.rb', line 93 def delete(group_id) done = false begin split_response http_endpoint_client.delete( "groups/#{group_id}" ) done = true rescue => ex exception_handler('create', ex, { 404 => "Group[#{group_id}] not found!" } ) end done end |
#index(offset = 0, limit = 100) ⇒ Object
Return a list of groups as a hash {
'groups' => {
'group' => [
{
'id' => <group_id>,
'name' => <name>,
'description' => <description>,
'role' => <role>,
'memebers' => [ <username>, ... ],
'roles' => [ <role>, ...],
},
...
]
}
}
55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/matterhorn/endpoint/group.rb', line 55 def index(offset = 0, limit = 100) groups = {} begin split_response http_endpoint_client.get( "groups/groups.json?limit=#{limit}&offset=#{offset}" ) groups = filter_groups(JSON.parse(response_body)) rescue => ex exception_handler('index', ex, {}) end groups end |
#update(group_id, name, description = nil, roles = nil, users = nil) ⇒ Object
————————————————————————————- update —
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/matterhorn/endpoint/group.rb', line 72 def update(group_id, name, description = nil, roles = nil, users = nil) done = false begin split_response http_endpoint_client.put( "groups/#{group_id}", convert_to_form_param(name, description, roles, users) ) done = true rescue => ex exception_handler('create', ex, { 400 => "Group name: #{name} too long!", 404 => "Group[#{group_id}] not found!" } ) end done end |