Module: Panoptes::Client::UserGroups

Included in:
Panoptes::Client
Defined in:
lib/panoptes/client/user_groups.rb

Instance Method Summary collapse

Instance Method Details

#create_user_group(name) ⇒ Hash

Creates a new user group and puts the current user in it as the initial member.

Parameters:

  • name (String)

    The name of the user group. Must be unique for the entirity of Zooniverse.

Returns:

  • (Hash)

    The created user group.

See Also:



11
12
13
14
15
# File 'lib/panoptes/client/user_groups.rb', line 11

def create_user_group(name)
  panoptes.post('/user_groups', user_groups: {
                  name: name
                })['user_groups'][0]
end

#delete_user_group(user_group_id) ⇒ Object



32
33
34
35
36
37
# File 'lib/panoptes/client/user_groups.rb', line 32

def delete_user_group(user_group_id)
  response = panoptes.connection.get("/api/user_groups/#{user_group_id}")
  etag = response.headers['ETag']

  panoptes.delete("/user_groups/#{user_group_id}", {}, etag: etag)
end

#join_user_group(user_group_id, user_id, join_token:) ⇒ Object



21
22
23
24
25
26
# File 'lib/panoptes/client/user_groups.rb', line 21

def join_user_group(user_group_id, user_id, join_token:)
  panoptes.post('/memberships', memberships: {
                  join_token: join_token,
                  links: { user: user_id, user_group: user_group_id }
                })['memberships'][0]
end

#remove_user_from_user_group(user_group_id, user_id) ⇒ Object



28
29
30
# File 'lib/panoptes/client/user_groups.rb', line 28

def remove_user_from_user_group(user_group_id, user_id)
  panoptes.delete("/user_groups/#{user_group_id}/links/users/#{user_id}")
end

#user_groupsObject



17
18
19
# File 'lib/panoptes/client/user_groups.rb', line 17

def user_groups
  panoptes.get('/user_groups')['user_groups']
end