Class: LabClient::ProjectMembers

Inherits:
Common
  • Object
show all
Defined in:
lib/labclient/members/projects/add.rb,
lib/labclient/members/projects/list.rb,
lib/labclient/members/projects/show.rb,
lib/labclient/members/projects/delete.rb,
lib/labclient/members/projects/update.rb

Overview

Specifics

Constant Summary

Constants included from AccessLevel

AccessLevel::HUMAN_ACCESS_LEVELS, AccessLevel::MACHINE_ACCESS_LEVELS

Instance Attribute Summary

Attributes inherited from Common

#client

Instance Method Summary collapse

Methods inherited from Common

#api_methods, #api_methods_help, #format_id, #format_query_id, #format_query_ids, #format_time?, #group_name, #help, #initialize, #inspect, #klass, #protected_query_access_level, #query_access_level, #query_format_time

Methods included from Docs

#demo, #desc, #doc, docs, #example, #group_name, #help, json, #markdown, #navigation, #option, #result, #subtitle, #title

Methods included from AccessLevel

#human_access_level, #human_protected_access_level, #machine_access_level, #machine_protected_access_level

Constructor Details

This class inherits a constructor from LabClient::Common

Instance Method Details

#add(project_id, user_id, query) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'lib/labclient/members/projects/add.rb', line 27

def add(project_id, user_id, query)
  query_format_time(query, :expires_at)
  query_access_level(query, :access_level)
  project_id = format_id(project_id)
  user_id = format_id(user_id)
  query[:user_id] = user_id

  client.request(:post, "projects/#{project_id}/members", Member, query)
end

#delete(project_id, user_id) ⇒ Object



19
20
21
# File 'lib/labclient/members/projects/delete.rb', line 19

def delete(project_id, user_id)
  client.request(:delete, "projects/#{project_id}/members/#{user_id}")
end

#list(project_id, query = nil, all = nil) ⇒ Object

Default to False



52
53
54
55
56
57
58
59
# File 'lib/labclient/members/projects/list.rb', line 52

def list(project_id, query = nil, all = nil)
  all = '/all' if all # Reset and Use

  format_query_ids(:user_ids, query) if query

  project_id = format_id(project_id)
  client.request(:get, "projects/#{project_id}/members#{all}", Member, query)
end

#list_all(project_id, query = nil) ⇒ Object

Default to True



62
63
64
# File 'lib/labclient/members/projects/list.rb', line 62

def list_all(project_id, query = nil)
  list(project_id, query, true)
end

#show(project_id, user_id, all = nil) ⇒ Object

Default to False



36
37
38
39
40
41
42
# File 'lib/labclient/members/projects/show.rb', line 36

def show(project_id, user_id, all = nil)
  all = '/all' if all # Reset and Use

  user_id = format_id(user_id)
  project_id = format_id(project_id)
  client.request(:get, "projects/#{project_id}/members#{all}/#{user_id}", Member)
end

#show_all(project_id, user_id) ⇒ Object

Default to True



45
46
47
# File 'lib/labclient/members/projects/show.rb', line 45

def show_all(project_id, user_id)
  show(project_id, user_id, true)
end

#update(project_id, user_id, query) ⇒ Object



27
28
29
30
31
32
33
34
# File 'lib/labclient/members/projects/update.rb', line 27

def update(project_id, user_id, query)
  query_format_time(query, :expires_at)
  query_access_level(query, :access_level)
  project_id = format_id(project_id)
  user_id = format_id(user_id)

  client.request(:put, "projects/#{project_id}/members/#{user_id}", Member, query)
end