Class: LabClient::Projects
- Inherits:
-
Common
- Object
- Common
- LabClient::Projects
show all
- Defined in:
- lib/labclient/projects/list.rb,
lib/labclient/projects/show.rb,
lib/labclient/projects/user.rb,
lib/labclient/projects/share.rb,
lib/labclient/projects/users.rb,
lib/labclient/projects/create.rb,
lib/labclient/projects/delete.rb,
lib/labclient/projects/events.rb,
lib/labclient/projects/search.rb,
lib/labclient/projects/update.rb,
lib/labclient/projects/upload.rb,
lib/labclient/projects/archive.rb,
lib/labclient/projects/restore.rb,
lib/labclient/projects/unshare.rb,
lib/labclient/projects/snapshot.rb,
lib/labclient/projects/transfer.rb,
lib/labclient/projects/languages.rb,
lib/labclient/projects/resources.rb,
lib/labclient/projects/submodule.rb,
lib/labclient/projects/unarchive.rb,
lib/labclient/projects/forks/fork.rb,
lib/labclient/projects/forks/list.rb,
lib/labclient/projects/stars/star.rb,
lib/labclient/projects/forks/remove.rb,
lib/labclient/projects/hooks/client.rb,
lib/labclient/projects/housekeeping.rb,
lib/labclient/projects/mirror_start.rb,
lib/labclient/projects/badges/client.rb,
lib/labclient/projects/github_import.rb,
lib/labclient/projects/labels/client.rb,
lib/labclient/projects/forks/existing.rb,
lib/labclient/projects/mirrors/client.rb,
lib/labclient/projects/runners/client.rb,
lib/labclient/projects/stars/starrers.rb,
lib/labclient/projects/clusters/client.rb,
lib/labclient/projects/releases/client.rb,
lib/labclient/projects/services/client.rb,
lib/labclient/projects/snippets/client.rb,
lib/labclient/projects/triggers/client.rb,
lib/labclient/projects/templates/client.rb,
lib/labclient/projects/variables/client.rb,
lib/labclient/projects/milestones/client.rb,
lib/labclient/projects/push_rules/client.rb,
lib/labclient/projects/deployments/client.rb,
lib/labclient/projects/environments/client.rb,
lib/labclient/projects/release_links/client.rb,
lib/labclient/projects/access_requests/client.rb,
lib/labclient/projects/stars/starred_projects.rb,
lib/labclient/projects/pipeline_schedules/client.rb
Overview
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
-
#access_requests ⇒ Object
-
#archive(project_id) ⇒ Object
-
#badges ⇒ Object
-
#clusters ⇒ Object
-
#create(query = {}) ⇒ Object
TODO: Test Project/Group Creation TODO: Create helper for group.
-
#create_for_user(user_id, query = {}) ⇒ Object
-
#delete(project_id) ⇒ Object
-
#deployments ⇒ Object
-
#environments ⇒ Object
-
#fork(project_id, query = {}) ⇒ Object
-
#fork_existing(project_id, source_id) ⇒ Object
-
#fork_remove(project_id) ⇒ Object
-
#forks(project_id, query = {}) ⇒ Object
-
#github_import(query) ⇒ Object
-
#hooks ⇒ Object
-
#housekeeping(project_id) ⇒ Object
-
#labels ⇒ Object
-
#languages(project_id) ⇒ Object
-
#list(query = {}) ⇒ Object
-
#milestones ⇒ Object
-
#mirror_start(project_id) ⇒ Object
-
#mirrors ⇒ Object
-
#pipeline_schedules ⇒ Object
-
#push_rules ⇒ Object
-
#release_links ⇒ Object
-
#releases ⇒ Object
-
#restore(project_id) ⇒ Object
-
#runners ⇒ Object
-
#search(search_string = '') ⇒ Object
-
#search_within(project_id, scope, search_string = '') ⇒ Object
-
#services ⇒ Object
-
#share(project_id, query = {}) ⇒ Object
-
#show(project_id, query = {}) ⇒ Object
-
#snapshot(project_id, file_name, wiki = false) ⇒ Object
-
#snippets ⇒ Object
-
#star(project_id) ⇒ Object
-
#starred(user_id, query = {}) ⇒ Object
-
#starrers(project_id, search = '') ⇒ Object
-
#submodule(project_id, submodule_id, query) ⇒ Object
-
#templates ⇒ Object
-
#transfer(project_id, namespace_id) ⇒ Object
-
#triggers ⇒ Object
-
#unarchive(project_id) ⇒ Object
-
#unshare(project_id, group_id) ⇒ Object
-
#unstar(project_id) ⇒ Object
-
#update(project_id, query = {}) ⇒ Object
-
#upload(project_id, path) ⇒ Object
-
#user(user_id, query = {}) ⇒ Object
-
#users(project_id, query = {}) ⇒ Object
-
#variables ⇒ Object
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
#human_access_level, #human_protected_access_level, #machine_access_level, #machine_protected_access_level
Instance Method Details
#access_requests ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/access_requests/client.rb', line 13
def access_requests
ProjectAccessRequests.new(client)
end
|
#archive(project_id) ⇒ Object
19
20
21
22
23
|
# File 'lib/labclient/projects/archive.rb', line 19
def archive(project_id)
project_id = format_id(project_id)
client.request(:post, "projects/#{project_id}/archive", Project)
end
|
#badges ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/badges/client.rb', line 13
def badges
ProjectBadges.new(client)
end
|
#clusters ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/clusters/client.rb', line 13
def clusters
ProjectClusters.new(client)
end
|
#create(query = {}) ⇒ Object
TODO: Test Project/Group Creation TODO: Create helper for group
57
58
59
60
|
# File 'lib/labclient/projects/create.rb', line 57
def create(query = {})
format_query_id(:namespace_id, query)
client.request(:post, 'projects', Project, query)
end
|
#create_for_user(user_id, query = {}) ⇒ Object
51
52
53
|
# File 'lib/labclient/projects/create.rb', line 51
def create_for_user(user_id, query = {})
client.request(:post, "projects/user/#{user_id}", Project, query)
end
|
#delete(project_id) ⇒ Object
19
20
21
22
23
|
# File 'lib/labclient/projects/delete.rb', line 19
def delete(project_id)
project_id = format_id(project_id)
client.request(:delete, "projects/#{project_id}")
end
|
#deployments ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/deployments/client.rb', line 13
def deployments
ProjectDeployments.new(client)
end
|
#environments ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/environments/client.rb', line 13
def environments
ProjectEnvironments.new(client)
end
|
#fork(project_id, query = {}) ⇒ Object
36
37
38
39
40
|
# File 'lib/labclient/projects/forks/fork.rb', line 36
def fork(project_id, query = {})
project_id = format_id(project_id)
client.request(:post, "projects/#{project_id}/fork", Project, query)
end
|
#fork_existing(project_id, source_id) ⇒ Object
19
20
21
22
23
24
|
# File 'lib/labclient/projects/forks/existing.rb', line 19
def fork_existing(project_id, source_id)
project_id = format_id(project_id)
source_id = format_id(source_id)
client.request(:post, "projects/#{project_id}/fork/#{source_id}", Project)
end
|
#fork_remove(project_id) ⇒ Object
19
20
21
22
23
|
# File 'lib/labclient/projects/forks/remove.rb', line 19
def fork_remove(project_id)
project_id = format_id(project_id)
client.request(:delete, "projects/#{project_id}/fork")
end
|
#forks(project_id, query = {}) ⇒ Object
30
31
32
33
34
35
36
|
# File 'lib/labclient/projects/forks/list.rb', line 30
def forks(project_id, query = {})
project_id = format_id(project_id)
query_access_level(query, :min_access_level)
client.request(:get, "projects/#{project_id}/forks", Project, query)
end
|
#github_import(query) ⇒ Object
19
20
21
|
# File 'lib/labclient/projects/github_import.rb', line 19
def github_import(query)
client.request(:post, 'import/github', nil, query)
end
|
#hooks ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/hooks/client.rb', line 13
def hooks
ProjectHooks.new(client)
end
|
#housekeeping(project_id) ⇒ Object
23
24
25
26
27
|
# File 'lib/labclient/projects/housekeeping.rb', line 23
def housekeeping(project_id)
project_id = format_id(project_id)
client.request(:post, "projects/#{project_id}/housekeeping", nil)
end
|
#labels ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/labels/client.rb', line 13
def labels
ProjectLabels.new(client)
end
|
#languages(project_id) ⇒ Object
22
23
24
25
26
|
# File 'lib/labclient/projects/languages.rb', line 22
def languages(project_id)
project_id = format_id(project_id)
client.request(:get, "projects/#{project_id}/languages")
end
|
#list(query = {}) ⇒ Object
85
86
87
88
|
# File 'lib/labclient/projects/list.rb', line 85
def list(query = {})
query_access_level(query, :min_access_level)
client.request(:get, 'projects', Project, query)
end
|
#milestones ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/milestones/client.rb', line 13
def milestones
ProjectMilestones.new(client)
end
|
#mirror_start(project_id) ⇒ Object
20
21
22
23
24
|
# File 'lib/labclient/projects/mirror_start.rb', line 20
def mirror_start(project_id)
project_id = format_id(project_id)
client.request(:post, "projects/#{project_id}/mirror/pull", nil)
end
|
#mirrors ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/mirrors/client.rb', line 13
def mirrors
ProjectMirrors.new(client)
end
|
#pipeline_schedules ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/pipeline_schedules/client.rb', line 13
def pipeline_schedules
PipelineSchedules.new(client)
end
|
#push_rules ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/push_rules/client.rb', line 13
def push_rules
PushRules.new(client)
end
|
#release_links ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/releases/client.rb', line 13
def release_links
ProjectReleaseLinks.new(client)
end
|
#releases ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/release_links/client.rb', line 13
def releases
ProjectReleases.new(client)
end
|
#restore(project_id) ⇒ Object
20
21
22
23
24
|
# File 'lib/labclient/projects/restore.rb', line 20
def restore(project_id)
project_id = format_id(project_id)
client.request(:post, "projects/#{project_id}/restore", Project)
end
|
#runners ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/runners/client.rb', line 13
def runners
ProjectRunners.new(client)
end
|
#search(search_string = '') ⇒ Object
64
65
66
67
68
69
70
71
|
# File 'lib/labclient/projects/search.rb', line 64
def search(search_string = '')
query = {
scope: :projects,
search: search_string
}
client.request(:get, 'search', Project, query)
end
|
#search_within(project_id, scope, search_string = '') ⇒ Object
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/labclient/projects/search.rb', line 52
def search_within(project_id, scope, search_string = '')
project_id = format_id(project_id)
scope = scope.to_sym
query = { scope: scope, search: search_string }
klass = klass_type(scope)
client.request(:get, "projects/#{project_id}/search", klass, query)
end
|
#services ⇒ Object
25
26
27
|
# File 'lib/labclient/projects/services/client.rb', line 25
def services
ProjectServices.new(client)
end
|
#share(project_id, query = {}) ⇒ Object
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/labclient/projects/share.rb', line 44
def share(project_id, query = {})
project_id = format_id(project_id)
query_access_level(query, :group_access)
query_format_time(query, :expires_at)
client.request(:post, "projects/#{project_id}/share", nil, query)
end
|
#show(project_id, query = {}) ⇒ Object
41
42
43
44
45
|
# File 'lib/labclient/projects/show.rb', line 41
def show(project_id, query = {})
project_id = format_id(project_id)
client.request(:get, "projects/#{project_id}", Project, query)
end
|
#snapshot(project_id, file_name, wiki = false) ⇒ Object
18
19
20
21
22
23
|
# File 'lib/labclient/projects/snapshot.rb', line 18
def snapshot(project_id, file_name, wiki = false)
project_id = format_id(project_id)
raw = client.request(:get, "projects/#{project_id}/snapshot"), { wiki: wiki }
File.write(file_name, raw)
end
|
#snippets ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/snippets/client.rb', line 13
def snippets
ProjectSnippets.new(client)
end
|
#star(project_id) ⇒ Object
35
36
37
38
39
|
# File 'lib/labclient/projects/stars/star.rb', line 35
def star(project_id)
project_id = format_id(project_id)
client.request(:post, "projects/#{project_id}/star", Project)
end
|
#starred(user_id, query = {}) ⇒ Object
43
44
45
46
47
|
# File 'lib/labclient/projects/stars/starred_projects.rb', line 43
def starred(user_id, query = {})
query_access_level(query, :min_access_level)
client.request(:get, "users/#{user_id}/starred_projects", Project, query)
end
|
#starrers(project_id, search = '') ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/labclient/projects/stars/starrers.rb', line 29
def starrers(project_id, search = '')
project_id = format_id(project_id)
results = if search.empty?
client.request(:get, "projects/#{project_id}/starrers", nil)
else
client.request(:get, "projects/#{project_id}/starrers", nil, search: search)
end
results.map do |star_data|
star_data.user[:starred_since] = Time.parse star_data.starred_since
User.new star_data.user
end
end
|
#submodule(project_id, submodule_id, query) ⇒ Object
28
29
30
31
32
|
# File 'lib/labclient/projects/submodule.rb', line 28
def submodule(project_id, submodule_id, query)
project_id = format_id(project_id)
client.request(:put, "projects/#{project_id}/repository/submodules/#{submodule_id}", Commit, query)
end
|
#templates ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/templates/client.rb', line 13
def templates
ProjectTemplates.new(client)
end
|
#transfer(project_id, namespace_id) ⇒ Object
20
21
22
23
24
25
|
# File 'lib/labclient/projects/transfer.rb', line 20
def transfer(project_id, namespace_id)
project_id = format_id(project_id)
namespace_id = format_id(namespace_id)
client.request(:put, "projects/#{project_id}/transfer", Project, { namespace: namespace_id })
end
|
#triggers ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/triggers/client.rb', line 13
def triggers
ProjectTriggers.new(client)
end
|
#unarchive(project_id) ⇒ Object
19
20
21
22
23
|
# File 'lib/labclient/projects/unarchive.rb', line 19
def unarchive(project_id)
project_id = format_id(project_id)
client.request(:post, "projects/#{project_id}/unarchive", Project)
end
|
#unshare(project_id, group_id) ⇒ Object
20
21
22
23
24
25
|
# File 'lib/labclient/projects/unshare.rb', line 20
def unshare(project_id, group_id)
project_id = format_id(project_id)
group_id = format_id(group_id)
client.request(:delete, "projects/#{project_id}/share/#{group_id}", nil)
end
|
#unstar(project_id) ⇒ Object
41
42
43
44
45
|
# File 'lib/labclient/projects/stars/star.rb', line 41
def unstar(project_id)
project_id = format_id(project_id)
client.request(:post, "projects/#{project_id}/unstar", Project)
end
|
#update(project_id, query = {}) ⇒ Object
31
32
33
34
35
|
# File 'lib/labclient/projects/update.rb', line 31
def update(project_id, query = {})
project_id = format_id(project_id)
client.request(:put, "projects/#{project_id}", Project, query)
end
|
#upload(project_id, path) ⇒ Object
20
21
22
23
24
25
26
|
# File 'lib/labclient/projects/upload.rb', line 20
def upload(project_id, path)
project_id = format_id(project_id)
file = File.open(path, 'r')
client.request(:post, "projects/#{project_id}/uploads", nil, { file: file }, false)
end
|
#user(user_id, query = {}) ⇒ Object
44
45
46
47
48
49
50
|
# File 'lib/labclient/projects/user.rb', line 44
def user(user_id, query = {})
user_id = format_id(user_id)
query_access_level(query, :min_access_level)
client.request(:get, "users/#{user_id}/projects", Project, query)
end
|
#users(project_id, query = {}) ⇒ Object
33
34
35
36
37
|
# File 'lib/labclient/projects/users.rb', line 33
def users(project_id, query = {})
project_id = format_id(project_id)
client.request(:get, "projects/#{project_id}/users", User, query)
end
|
#variables ⇒ Object
13
14
15
|
# File 'lib/labclient/projects/variables/client.rb', line 13
def variables
ProjectVariables.new(client)
end
|