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:



9
10
11
12
13
# File 'lib/panoptes/client/user_groups.rb', line 9

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

#delete_user_group(user_group_id) ⇒ Object



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

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



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

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



26
27
28
# File 'lib/panoptes/client/user_groups.rb', line 26

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



15
16
17
# File 'lib/panoptes/client/user_groups.rb', line 15

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