github_cli 0.5.9 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis.yml +1 -0
- data/CHANGELOG.md +12 -1
- data/Gemfile.lock +12 -10
- data/README.md +18 -0
- data/features/authorization.feature +53 -0
- data/features/blob.feature +1 -1
- data/features/download.feature +13 -11
- data/features/gist.feature +9 -1
- data/features/label.feature +11 -12
- data/features/member.feature +5 -4
- data/features/merging.feature +5 -4
- data/features/organization.feature +5 -4
- data/features/repository.feature +9 -1
- data/features/search.feature +5 -4
- data/github_cli.gemspec +1 -1
- data/lib/github_cli/api.rb +56 -49
- data/lib/github_cli/apis/assignee.rb +6 -6
- data/lib/github_cli/apis/authorization.rb +5 -5
- data/lib/github_cli/apis/blob.rb +6 -6
- data/lib/github_cli/apis/collaborator.rb +12 -12
- data/lib/github_cli/apis/commit.rb +6 -6
- data/lib/github_cli/apis/content.rb +9 -9
- data/lib/github_cli/apis/download.rb +15 -15
- data/lib/github_cli/apis/email.rb +9 -9
- data/lib/github_cli/apis/event.rb +24 -24
- data/lib/github_cli/apis/follower.rb +16 -15
- data/lib/github_cli/apis/fork.rb +6 -6
- data/lib/github_cli/apis/gist.rb +31 -30
- data/lib/github_cli/apis/hook.rb +6 -6
- data/lib/github_cli/apis/issue.rb +12 -12
- data/lib/github_cli/apis/key.rb +15 -15
- data/lib/github_cli/apis/label.rb +24 -26
- data/lib/github_cli/apis/member.rb +15 -27
- data/lib/github_cli/apis/merging.rb +3 -3
- data/lib/github_cli/apis/milestone.rb +15 -15
- data/lib/github_cli/apis/notification.rb +18 -18
- data/lib/github_cli/apis/organization.rb +9 -9
- data/lib/github_cli/apis/pull_request.rb +24 -24
- data/lib/github_cli/apis/reference.rb +15 -15
- data/lib/github_cli/apis/repository.rb +13 -12
- data/lib/github_cli/apis/search.rb +12 -12
- data/lib/github_cli/apis/starring.rb +15 -15
- data/lib/github_cli/apis/status.rb +6 -6
- data/lib/github_cli/apis/tag.rb +6 -6
- data/lib/github_cli/apis/team.rb +39 -39
- data/lib/github_cli/apis/tree.rb +6 -6
- data/lib/github_cli/apis/user.rb +9 -9
- data/lib/github_cli/apis/watching.rb +15 -15
- data/lib/github_cli/cli.rb +24 -16
- data/lib/github_cli/commands/assignees.rb +8 -2
- data/lib/github_cli/commands/authorizations.rb +10 -13
- data/lib/github_cli/commands/blobs.rb +9 -3
- data/lib/github_cli/commands/collaborators.rb +16 -4
- data/lib/github_cli/commands/commits.rb +11 -6
- data/lib/github_cli/commands/contents.rb +9 -6
- data/lib/github_cli/commands/downloads.rb +30 -6
- data/lib/github_cli/commands/emails.rb +12 -3
- data/lib/github_cli/commands/events.rb +30 -8
- data/lib/github_cli/commands/followers.rb +20 -5
- data/lib/github_cli/commands/forks.rb +6 -4
- data/lib/github_cli/commands/gists.rb +39 -12
- data/lib/github_cli/commands/hooks.rb +1 -1
- data/lib/github_cli/commands/issues.rb +15 -4
- data/lib/github_cli/commands/keys.rb +20 -5
- data/lib/github_cli/commands/labels.rb +53 -14
- data/lib/github_cli/commands/members.rb +28 -9
- data/lib/github_cli/commands/merging.rb +3 -2
- data/lib/github_cli/commands/milestones.rb +27 -15
- data/lib/github_cli/commands/notifications.rb +19 -11
- data/lib/github_cli/commands/organizations.rb +24 -5
- data/lib/github_cli/commands/pull_requests.rb +30 -8
- data/lib/github_cli/commands/references.rb +17 -5
- data/lib/github_cli/commands/repositories.rb +6 -4
- data/lib/github_cli/commands/search.rb +24 -6
- data/lib/github_cli/commands/starring.rb +19 -5
- data/lib/github_cli/commands/statuses.rb +7 -3
- data/lib/github_cli/commands/tags.rb +7 -3
- data/lib/github_cli/commands/teams.rb +52 -17
- data/lib/github_cli/commands/trees.rb +6 -2
- data/lib/github_cli/commands/users.rb +9 -3
- data/lib/github_cli/commands/watching.rb +19 -5
- data/lib/github_cli/vendor/thor/actions/directory.rb +2 -0
- data/lib/github_cli/vendor/thor/actions/empty_directory.rb +3 -19
- data/lib/github_cli/vendor/thor/actions/file_manipulation.rb +4 -1
- data/lib/github_cli/vendor/thor/actions.rb +1 -1
- data/lib/github_cli/vendor/thor/base.rb +20 -18
- data/lib/github_cli/vendor/thor/command.rb +1 -1
- data/lib/github_cli/vendor/thor/error.rb +0 -4
- data/lib/github_cli/vendor/thor/group.rb +4 -9
- data/lib/github_cli/vendor/thor/runner.rb +1 -1
- data/lib/github_cli/vendor/thor/shell/basic.rb +25 -7
- data/lib/github_cli/vendor/thor/version.rb +1 -1
- data/lib/github_cli/vendor/thor.rb +17 -2
- data/lib/github_cli/version.rb +1 -1
- data/spec/github_cli/api/configure_spec.rb +50 -0
- data/spec/github_cli/api/github_api_spec.rb +19 -0
- data/spec/github_cli/commands/assignees_spec.rb +1 -1
- data/spec/github_cli/commands/blobs_spec.rb +1 -1
- data/spec/github_cli/commands/collaborators_spec.rb +1 -1
- data/spec/github_cli/commands/commits_spec.rb +1 -1
- data/spec/github_cli/commands/contents_spec.rb +1 -1
- data/spec/github_cli/commands/downloads_spec.rb +35 -0
- data/spec/github_cli/commands/emails_spec.rb +1 -1
- data/spec/github_cli/commands/events_spec.rb +1 -1
- data/spec/github_cli/commands/followers_spec.rb +1 -1
- data/spec/github_cli/commands/forks_spec.rb +1 -1
- data/spec/github_cli/commands/gists_spec.rb +6 -1
- data/spec/github_cli/commands/issues_spec.rb +1 -1
- data/spec/github_cli/commands/keys_spec.rb +1 -1
- data/spec/github_cli/commands/labels_spec.rb +13 -3
- data/spec/github_cli/commands/members_spec.rb +46 -0
- data/spec/github_cli/commands/merging_spec.rb +1 -1
- data/spec/github_cli/commands/milestones_spec.rb +1 -1
- data/spec/github_cli/commands/notifications_spec.rb +1 -1
- data/spec/github_cli/commands/organizations_spec.rb +30 -0
- data/spec/github_cli/commands/pull_requests_spec.rb +1 -1
- data/spec/github_cli/commands/references_spec.rb +1 -1
- data/spec/github_cli/commands/repositories_spec.rb +5 -0
- data/spec/github_cli/commands/starring_spec.rb +1 -1
- data/spec/github_cli/commands/statuses_spec.rb +1 -1
- data/spec/github_cli/commands/tags_spec.rb +1 -1
- data/spec/github_cli/commands/teams_spec.rb +1 -1
- data/spec/github_cli/commands/trees_spec.rb +1 -1
- data/spec/github_cli/commands/users_spec.rb +1 -1
- data/spec/github_cli/commands/watching_spec.rb +1 -1
- metadata +27 -17
- data/spec/github_cli/api_spec.rb +0 -19
@@ -7,7 +7,10 @@ module GithubCLI
|
|
7
7
|
|
8
8
|
desc 'list', 'Lists email addresses for the authenticated user'
|
9
9
|
def list
|
10
|
-
|
10
|
+
global_options = options.dup
|
11
|
+
params = options[:params].dup
|
12
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
13
|
+
Email.all params, global_options
|
11
14
|
end
|
12
15
|
|
13
16
|
desc 'add <email>[<email>...]', 'Add email address(es) for the authenticated user'
|
@@ -15,7 +18,10 @@ module GithubCLI
|
|
15
18
|
You can include a single email address or an array of addresses
|
16
19
|
DESC
|
17
20
|
def add(*emails)
|
18
|
-
|
21
|
+
global_options = options.dup
|
22
|
+
params = options[:params].dup
|
23
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
24
|
+
Email.add emails, params, global_options
|
19
25
|
end
|
20
26
|
|
21
27
|
desc 'delete <email>[<email>...]', 'Delete email address(es) for the authenticated user'
|
@@ -23,7 +29,10 @@ module GithubCLI
|
|
23
29
|
You can include a single email address or an array of addresses
|
24
30
|
DESC
|
25
31
|
def delete(*emails)
|
26
|
-
|
32
|
+
global_options = options.dup
|
33
|
+
params = options[:params].dup
|
34
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
35
|
+
Email.delete emails, params, global_options
|
27
36
|
end
|
28
37
|
|
29
38
|
end # Emails
|
@@ -7,27 +7,42 @@ module GithubCLI
|
|
7
7
|
|
8
8
|
desc 'public', 'Lists all public events'
|
9
9
|
def public
|
10
|
-
|
10
|
+
global_options = options.dup
|
11
|
+
params = options[:params].dup
|
12
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
13
|
+
Event.public params, global_options
|
11
14
|
end
|
12
15
|
|
13
16
|
desc 'repo <user> <repo>', 'Lists all repository events for a given user'
|
14
17
|
def repo(user, repo)
|
15
|
-
|
18
|
+
global_options = options.dup
|
19
|
+
params = options[:params].dup
|
20
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
21
|
+
Event.repository user, repo, params, global_options
|
16
22
|
end
|
17
23
|
|
18
24
|
desc 'issue <user> <repo>', 'Lists all issue events for a given repository'
|
19
25
|
def issue(user, repo)
|
20
|
-
|
26
|
+
global_options = options.dup
|
27
|
+
params = options[:params].dup
|
28
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
29
|
+
Event.issue user, repo, params, global_options
|
21
30
|
end
|
22
31
|
|
23
32
|
desc 'network <user> <repo>', 'Lists all public events for a network of repositories'
|
24
33
|
def network(user, repo)
|
25
|
-
|
34
|
+
global_options = options.dup
|
35
|
+
params = options[:params].dup
|
36
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
37
|
+
Event.network user, repo, params, global_options
|
26
38
|
end
|
27
39
|
|
28
40
|
desc 'org <org>', 'Lists all public events for an organization'
|
29
41
|
def org(org)
|
30
|
-
|
42
|
+
global_options = options.dup
|
43
|
+
params = options[:params].dup
|
44
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
45
|
+
Event.organization org, params, global_options
|
31
46
|
end
|
32
47
|
|
33
48
|
desc 'received <user>', 'Lists all events that a user has received'
|
@@ -39,9 +54,11 @@ module GithubCLI
|
|
39
54
|
Otherwise, you’ll only see public events.
|
40
55
|
DESC
|
41
56
|
def received(user)
|
57
|
+
global_options = options.dup
|
42
58
|
params = options[:params].dup
|
43
59
|
params['public'] = options[:public] if options[:public]
|
44
|
-
|
60
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
61
|
+
Event.received user, params, global_options
|
45
62
|
end
|
46
63
|
|
47
64
|
desc 'performed <user>', 'Lists all events that a user has performed'
|
@@ -52,9 +69,11 @@ module GithubCLI
|
|
52
69
|
events. Otherwise, you’ll only see public events.
|
53
70
|
DESC
|
54
71
|
def performed(user)
|
72
|
+
global_options = options.dup
|
55
73
|
params = options[:params].dup
|
56
74
|
params['public'] = true if options[:public]
|
57
|
-
|
75
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
76
|
+
Event.performed user, params, global_options
|
58
77
|
end
|
59
78
|
|
60
79
|
desc 'user_org <user> <org>', "Lists all events for a user's organization"
|
@@ -63,7 +82,10 @@ module GithubCLI
|
|
63
82
|
as the user to view this.
|
64
83
|
DESC
|
65
84
|
def user_org(user, org)
|
66
|
-
|
85
|
+
global_options = options.dup
|
86
|
+
params = options[:params].dup
|
87
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
88
|
+
Event.user_org user, org, params, global_options
|
67
89
|
end
|
68
90
|
|
69
91
|
end # Events
|
@@ -10,7 +10,10 @@ module GithubCLI
|
|
10
10
|
:desc => 'List a <user> followers',
|
11
11
|
:banner => '<user>'
|
12
12
|
def list
|
13
|
-
|
13
|
+
global_options = options.dup
|
14
|
+
params = options[:params].dup
|
15
|
+
Util.hash_without!(global_options, params.keys + ['params', 'user'])
|
16
|
+
Follower.all options[:user], params, global_options
|
14
17
|
end
|
15
18
|
|
16
19
|
desc 'following', 'List who a user/the authenticated user is following'
|
@@ -18,22 +21,34 @@ module GithubCLI
|
|
18
21
|
:desc => 'List who a <user> is following',
|
19
22
|
:banner => '<user>'
|
20
23
|
def following
|
21
|
-
|
24
|
+
global_options = options.dup
|
25
|
+
params = options[:params].dup
|
26
|
+
Util.hash_without!(global_options, params.keys + ['params', 'user'])
|
27
|
+
Follower.following options[:user], params, global_options
|
22
28
|
end
|
23
29
|
|
24
30
|
desc 'follower <user>', 'Check if you are following a user'
|
25
31
|
def follower(user)
|
26
|
-
|
32
|
+
global_options = options.dup
|
33
|
+
params = options[:params].dup
|
34
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
35
|
+
Follower.follower user, params, global_options
|
27
36
|
end
|
28
37
|
|
29
38
|
desc 'follow <user>', 'Follow a user'
|
30
39
|
def follow(user)
|
31
|
-
|
40
|
+
global_options = options.dup
|
41
|
+
params = options[:params].dup
|
42
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
43
|
+
Follower.follow user, params, global_options
|
32
44
|
end
|
33
45
|
|
34
46
|
desc 'unfollow <user>', 'Unfollow a user'
|
35
47
|
def unfollow(user)
|
36
|
-
|
48
|
+
global_options = options.dup
|
49
|
+
params = options[:params].dup
|
50
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
51
|
+
Follower.unfollow user, params, global_options
|
37
52
|
end
|
38
53
|
|
39
54
|
end # Followers
|
@@ -17,20 +17,22 @@ module GithubCLI
|
|
17
17
|
sort - newest, oldest, watchers, default: newest
|
18
18
|
DESC
|
19
19
|
def list(user, repo)
|
20
|
+
global_options = options.dup
|
20
21
|
params = options[:params].dup
|
21
22
|
params['sort'] = options[:sort] if options[:sort]
|
22
|
-
|
23
|
-
Fork.all user, repo, params,
|
23
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
24
|
+
Fork.all user, repo, params, global_options
|
24
25
|
end
|
25
26
|
|
26
27
|
option :org, :type => :string,
|
27
28
|
:desc => 'Organization login. The repository will be forked into this organization.'
|
28
29
|
desc 'create <user> <repo>', 'Create a new fork'
|
29
30
|
def create(user, repo)
|
31
|
+
global_options = options.dup
|
30
32
|
params = options[:params].dup
|
31
33
|
params['organization'] = options[:org] if options[:org]
|
32
|
-
|
33
|
-
Fork.create user, repo, params,
|
34
|
+
Util.hash_without!(global_options, params.keys + ['params', 'org'])
|
35
|
+
Fork.create user, repo, params, global_options
|
34
36
|
end
|
35
37
|
|
36
38
|
end # Forks
|
@@ -10,21 +10,29 @@ module GithubCLI
|
|
10
10
|
:desc => 'List a <user> gists'
|
11
11
|
option :starred, :type => :boolean, :aliases => ["-s"], :default => false,
|
12
12
|
:desc => 'List the authenticated users starred gists'
|
13
|
+
option :public, :type => :boolean,
|
14
|
+
:desc => "List all public gists"
|
13
15
|
option :since, :type => :string, :banner => "timestamp",
|
14
16
|
:desc => "a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ "
|
15
17
|
def list
|
18
|
+
global_options = options.dup
|
19
|
+
params = options[:params].dup
|
16
20
|
if options[:starred]
|
17
|
-
|
21
|
+
Util.hash_without!(global_options, params.keys + ['params', 'starred'])
|
22
|
+
Gist.starred params, global_options
|
18
23
|
else
|
19
|
-
params = options[:params].dup
|
20
24
|
params['user'] = options[:user] if options[:user]
|
21
|
-
|
25
|
+
Util.hash_without!(global_options, params.keys + ['params', 'user'])
|
26
|
+
Gist.all params, global_options
|
22
27
|
end
|
23
28
|
end
|
24
29
|
|
25
30
|
desc 'get <id>', 'Get a single gist'
|
26
31
|
def get(id)
|
27
|
-
|
32
|
+
global_options = options.dup
|
33
|
+
params = options[:params].dup
|
34
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
35
|
+
Gist.get id, params, global_options
|
28
36
|
end
|
29
37
|
|
30
38
|
option :public, :type => :boolean, :default => false
|
@@ -43,11 +51,13 @@ module GithubCLI
|
|
43
51
|
content - Required string - File contents.
|
44
52
|
DESC
|
45
53
|
def create
|
54
|
+
global_options = options.dup
|
46
55
|
params = options[:params].dup
|
47
56
|
params['description'] = options[:desc] if options[:desc]
|
48
57
|
params['public'] = options[:public] || false
|
49
|
-
params['files']
|
50
|
-
|
58
|
+
params['files'] = options[:files] if options[:files]
|
59
|
+
Util.hash_without!(global_options, params.keys + ['params', 'desc'])
|
60
|
+
Gist.create params, global_options
|
51
61
|
end
|
52
62
|
|
53
63
|
option :desc, :type => :string
|
@@ -65,35 +75,52 @@ module GithubCLI
|
|
65
75
|
filename - Optional string - New name for this file.\n
|
66
76
|
DESC
|
67
77
|
def edit(id)
|
78
|
+
global_options = options.dup
|
68
79
|
params = options[:params].dup
|
69
80
|
params['description'] = options[:desc] if options[:desc]
|
70
81
|
params['files'] = options[:files] if options[:files]
|
71
|
-
|
82
|
+
Util.hash_without!(global_options, params.keys + ['params', 'desc'])
|
83
|
+
Gist.edit id, params, global_options
|
72
84
|
end
|
73
85
|
|
74
86
|
desc 'star <id>', 'Star a gist'
|
75
87
|
def star(id)
|
76
|
-
|
88
|
+
global_options = options.dup
|
89
|
+
params = options[:params].dup
|
90
|
+
Util.hash_without!(global_options, params.keys + ['params', 'desc'])
|
91
|
+
Gist.star id, params, global_options
|
77
92
|
end
|
78
93
|
|
79
94
|
desc 'unstar <id>', 'Unstar a gist'
|
80
95
|
def unstar(id)
|
81
|
-
|
96
|
+
global_options = options.dup
|
97
|
+
params = options[:params].dup
|
98
|
+
Util.hash_without!(global_options, params.keys + ['params', 'desc'])
|
99
|
+
Gist.unstar id, params, global_options
|
82
100
|
end
|
83
101
|
|
84
102
|
desc 'starred <id>', 'Check if a gist is starred'
|
85
103
|
def starred(id)
|
86
|
-
|
104
|
+
global_options = options.dup
|
105
|
+
params = options[:params].dup
|
106
|
+
Util.hash_without!(global_options, params.keys + ['params', 'desc'])
|
107
|
+
Gist.starred? id, params, global_options
|
87
108
|
end
|
88
109
|
|
89
110
|
desc 'fork <id>', 'Fork a gist'
|
90
111
|
def fork(id)
|
91
|
-
|
112
|
+
global_options = options.dup
|
113
|
+
params = options[:params].dup
|
114
|
+
Util.hash_without!(global_options, params.keys + ['params', 'desc'])
|
115
|
+
Gist.fork id, params, global_options
|
92
116
|
end
|
93
117
|
|
94
118
|
desc 'delete <id>', 'Delete a gist'
|
95
119
|
def delete(id)
|
96
|
-
|
120
|
+
global_options = options.dup
|
121
|
+
params = options[:params].dup
|
122
|
+
Util.hash_without!(global_options, params.keys + ['params', 'desc'])
|
123
|
+
Gist.delete id, params, global_options
|
97
124
|
end
|
98
125
|
|
99
126
|
end # Gists
|
@@ -81,7 +81,7 @@ module GithubCLI
|
|
81
81
|
params['add_events'] = options[:add_events] if options[:add_events]
|
82
82
|
params['remove_events'] = options[:remove_events] if options[:remove_events]
|
83
83
|
params['active'] = options[:active] if options[:active]
|
84
|
-
Util.hash_without!(global_options,
|
84
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
85
85
|
Hook.edit user, repo, id, params, global_options
|
86
86
|
end
|
87
87
|
|
@@ -56,6 +56,7 @@ module GithubCLI
|
|
56
56
|
since - Optional string of a timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ \n
|
57
57
|
DESC
|
58
58
|
def list
|
59
|
+
global_options = options.dup
|
59
60
|
params = options[:params].dup
|
60
61
|
params['org'] = options[:org] if options[:org]
|
61
62
|
params['user'] = options[:user] if options[:user]
|
@@ -73,12 +74,18 @@ module GithubCLI
|
|
73
74
|
|
74
75
|
arg = []
|
75
76
|
arg = :user if !options[:all] && !(options[:user] || options[:org])
|
76
|
-
|
77
|
+
Util.hash_without!(global_options, params.keys + ['params', 'all'])
|
78
|
+
|
79
|
+
Issue.all arg, params, global_options
|
77
80
|
end
|
78
81
|
|
79
82
|
desc 'get <user> <repo> <number>', 'Get a single issue'
|
80
83
|
def get(user, repo, number)
|
81
|
-
|
84
|
+
global_options = options.dup
|
85
|
+
params = options[:params].dup
|
86
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
87
|
+
|
88
|
+
Issue.get user, repo, number, params, global_options
|
82
89
|
end
|
83
90
|
|
84
91
|
option :title, :type => :string, :required => true
|
@@ -104,14 +111,16 @@ module GithubCLI
|
|
104
111
|
ghc issue create wycats thor --title='Found a bug'
|
105
112
|
DESC
|
106
113
|
def create(user, repo)
|
114
|
+
global_options = options.dup
|
107
115
|
params = options[:params].dup
|
108
116
|
params['title'] = options[:title]
|
109
117
|
params['body'] = options[:body] if options[:body]
|
110
118
|
params['assignee'] = options[:assignee] if options[:assignee]
|
111
119
|
params['milestone'] = options[:milestone] if options[:milestone]
|
112
120
|
params['labels'] = options[:labels] if options[:labels]
|
121
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
113
122
|
|
114
|
-
Issue.create user, repo, params,
|
123
|
+
Issue.create user, repo, params, global_options
|
115
124
|
end
|
116
125
|
|
117
126
|
option :title, :type => :string, :required => true
|
@@ -140,6 +149,7 @@ module GithubCLI
|
|
140
149
|
ghc issue edit wycats thor 1 --title='Found a bug'
|
141
150
|
DESC
|
142
151
|
def edit(user, repo, number)
|
152
|
+
global_options = options.dup
|
143
153
|
params = options[:params].dup
|
144
154
|
params['title'] = options[:title]
|
145
155
|
params['body'] = options[:body] if options[:body]
|
@@ -147,8 +157,9 @@ module GithubCLI
|
|
147
157
|
params['milestone'] = options[:milestone] if options[:milestone]
|
148
158
|
params['labels'] = options[:labels] if options[:labels]
|
149
159
|
params['state'] = options[:state] if options[:state]
|
160
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
150
161
|
|
151
|
-
Issue.edit user, repo, number, params,
|
162
|
+
Issue.edit user, repo, number, params, global_options
|
152
163
|
end
|
153
164
|
|
154
165
|
end # Issues
|
@@ -7,12 +7,18 @@ module GithubCLI
|
|
7
7
|
|
8
8
|
desc 'list <user> <repo>', 'Lists keys'
|
9
9
|
def list(user, repo)
|
10
|
-
|
10
|
+
global_options = options.dup
|
11
|
+
params = options[:params].dup
|
12
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
13
|
+
Key.all user, repo, params, global_options
|
11
14
|
end
|
12
15
|
|
13
16
|
desc 'get <user> <repo> <id>', 'Get a key'
|
14
17
|
def get(user, repo, id)
|
15
|
-
|
18
|
+
global_options = options.dup
|
19
|
+
params = options[:params].dup
|
20
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
21
|
+
Key.get user, repo, id, params, global_options
|
16
22
|
end
|
17
23
|
|
18
24
|
desc 'create <user> <repo>', 'Create a new key'
|
@@ -23,7 +29,10 @@ module GithubCLI
|
|
23
29
|
key - Required string.
|
24
30
|
DESC
|
25
31
|
def create(user, repo)
|
26
|
-
|
32
|
+
global_options = options.dup
|
33
|
+
params = options[:params].dup
|
34
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
35
|
+
Key.create user, repo, params, global_options
|
27
36
|
end
|
28
37
|
|
29
38
|
desc 'edit <user> <repo> <id>', 'Edit a key'
|
@@ -34,12 +43,18 @@ module GithubCLI
|
|
34
43
|
key - Required string.
|
35
44
|
DESC
|
36
45
|
def edit(user, repo, id)
|
37
|
-
|
46
|
+
global_options = options.dup
|
47
|
+
params = options[:params].dup
|
48
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
49
|
+
Key.edit user, repo, id, params, global_options
|
38
50
|
end
|
39
51
|
|
40
52
|
desc 'delete <user> <repo> <id>', 'Delete a key'
|
41
53
|
def delete(user, repo, id)
|
42
|
-
|
54
|
+
global_options = options.dup
|
55
|
+
params = options[:params].dup
|
56
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
57
|
+
Key.delete user, repo, id, params, global_options
|
43
58
|
end
|
44
59
|
|
45
60
|
end # Keys
|
@@ -6,27 +6,36 @@ module GithubCLI
|
|
6
6
|
namespace :label
|
7
7
|
|
8
8
|
desc 'list <user> <repo>', 'Listing all labels for this repository.'
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
:banner => '<issue>'
|
9
|
+
option :milestone, :type => :string, :aliases => ["-m"],
|
10
|
+
:banner => '<milestone>',
|
11
|
+
:desc => 'List labels for every issue in a milestone.'
|
12
|
+
option :issue, :type => :string, :aliases => ["-i"], :banner => '<issue>',
|
13
|
+
:desc => 'List labels on an issue.'
|
15
14
|
def list(user, repo)
|
15
|
+
global_options = options.dup
|
16
16
|
params = options[:params].dup
|
17
|
+
params_remove = params.keys + ['params']
|
17
18
|
if (milestone_id = options[:milestone])
|
18
19
|
params['milestone_id'] = milestone_id
|
20
|
+
params_remove << 'milestone'
|
19
21
|
elsif (issue_id = options[:issue])
|
20
22
|
params['issue_id'] = issue_id
|
23
|
+
params_remove << 'issue'
|
21
24
|
end
|
22
|
-
|
25
|
+
Util.hash_without!(global_options, params_remove)
|
26
|
+
Label.all user, repo, params, global_options
|
23
27
|
end
|
24
28
|
|
25
29
|
desc 'get <user> <repo> <name>', 'Get a single label.'
|
26
30
|
def get(user, repo, name)
|
27
|
-
|
31
|
+
global_options = options.dup
|
32
|
+
params = options[:params].dup
|
33
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
34
|
+
Label.get user, repo, name, params, global_options
|
28
35
|
end
|
29
36
|
|
37
|
+
option :name, :type => :string, :required => true
|
38
|
+
option :color, :type => :string, :required => true
|
30
39
|
desc 'create <user> <repo>', 'Create a label.'
|
31
40
|
long_desc <<-DESC
|
32
41
|
Inputs
|
@@ -34,33 +43,63 @@ module GithubCLI
|
|
34
43
|
color - Required string - 6 character hex code, without leading #
|
35
44
|
DESC
|
36
45
|
def create(user, repo)
|
37
|
-
|
46
|
+
global_options = options.dup
|
47
|
+
params = options[:params].dup
|
48
|
+
params['name'] = options[:name] if options[:name]
|
49
|
+
params['color'] = options[:color] if options[:color]
|
50
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
51
|
+
Label.create user, repo, params, global_options
|
38
52
|
end
|
39
53
|
|
54
|
+
option :name, :type => :string, :required => true
|
55
|
+
option :color, :type => :string, :required => true
|
40
56
|
desc 'update <user> <repo> <name>', 'Update a label.'
|
57
|
+
long_desc <<-DESC
|
58
|
+
Inputs
|
59
|
+
name - Required string
|
60
|
+
color - Required string - 6 character hex code, without leading #
|
61
|
+
DESC
|
41
62
|
def update(user, repo, name)
|
42
|
-
|
63
|
+
global_options = options.dup
|
64
|
+
params = options[:params].dup
|
65
|
+
params['name'] = options[:name] if options[:name]
|
66
|
+
params['color'] = options[:color] if options[:color]
|
67
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
68
|
+
Label.update user, repo, name, params, global_options
|
43
69
|
end
|
44
70
|
|
45
71
|
desc 'delete <user> <repo> <name>', 'Delete a label.'
|
46
72
|
def delete(user, repo, name)
|
47
|
-
|
73
|
+
global_options = options.dup
|
74
|
+
params = options[:params].dup
|
75
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
76
|
+
Label.delete user, repo, name, params, global_options
|
48
77
|
end
|
49
78
|
|
50
79
|
desc 'add <user> <repo> <number> <label>[<label>...]', 'Add labels to issue <number>.'
|
51
80
|
def add(user, repo, number, *args)
|
52
|
-
|
81
|
+
global_options = options.dup
|
82
|
+
params = options[:params].dup
|
83
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
84
|
+
Label.add user, repo, number, args, params, global_options
|
53
85
|
end
|
54
86
|
|
55
87
|
desc 'remove <user> <repo> [<name>/]<number>', 'Remove label<name> from an issue<number>'
|
56
88
|
def remove(user, repo, number)
|
57
89
|
name, number = Arguments.new(number).parse
|
58
|
-
|
90
|
+
global_options = options.dup
|
91
|
+
params = options[:params].dup
|
92
|
+
params['label_name'] = name if name
|
93
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
94
|
+
Label.remove user, repo, number, params, global_options
|
59
95
|
end
|
60
96
|
|
61
97
|
desc 'replace <user> <repo> <number> <label>[<label>...]', 'Replace all labels for an issue <number>.'
|
62
98
|
def replace(user, repo, number, *args)
|
63
|
-
|
99
|
+
global_options = options.dup
|
100
|
+
params = options[:params].dup
|
101
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
102
|
+
Label.replace user, repo, number, args, params, global_options
|
64
103
|
end
|
65
104
|
|
66
105
|
end # Labels
|
@@ -19,22 +19,32 @@ module GithubCLI
|
|
19
19
|
method_option :public, :type => :boolean, :default => false,
|
20
20
|
:desc => 'List public members'
|
21
21
|
def list(org)
|
22
|
+
global_options = options.dup
|
23
|
+
params = options[:params].dup
|
24
|
+
params_remove = params.keys + ['params']
|
25
|
+
|
22
26
|
if options[:public]
|
23
|
-
|
24
|
-
|
25
|
-
Member.all org, options[:params], options[:format]
|
27
|
+
params['public'] = true
|
28
|
+
params_remove << 'public'
|
26
29
|
end
|
30
|
+
Util.hash_without!(global_options, params_remove)
|
31
|
+
Member.all org, params, global_options
|
27
32
|
end
|
28
33
|
|
29
34
|
desc 'member [--public] <org> <user>', 'Checks if user is a member of an organization'
|
30
35
|
method_option :public, :type => :boolean, :default => false,
|
31
36
|
:desc => 'Get if a user is a public member of an organization'
|
32
37
|
def member(org, user)
|
38
|
+
global_options = options.dup
|
39
|
+
params = options[:params].dup
|
40
|
+
params_remove = params.keys + ['params']
|
41
|
+
|
33
42
|
if options[:public]
|
34
|
-
|
35
|
-
|
36
|
-
Member.member? org, user, options[:params], options[:format]
|
43
|
+
params['public'] = true
|
44
|
+
params_remove << 'public'
|
37
45
|
end
|
46
|
+
Util.hash_without!(global_options, params_remove)
|
47
|
+
Member.member? org, user, params, global_options
|
38
48
|
end
|
39
49
|
|
40
50
|
desc 'delete <org> <user>', 'Remove a member from an organization'
|
@@ -43,17 +53,26 @@ module GithubCLI
|
|
43
53
|
will no longer have any access to the organization’s repositories.
|
44
54
|
DESC
|
45
55
|
def delete(org, user)
|
46
|
-
|
56
|
+
global_options = options.dup
|
57
|
+
params = options[:params].dup
|
58
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
59
|
+
Member.delete org, user, params, global_options
|
47
60
|
end
|
48
61
|
|
49
62
|
desc 'publicize <org> <user>', "Publicize a user’s membership"
|
50
63
|
def publicize(org, user)
|
51
|
-
|
64
|
+
global_options = options.dup
|
65
|
+
params = options[:params].dup
|
66
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
67
|
+
Member.publicize org, user, params, global_options
|
52
68
|
end
|
53
69
|
|
54
70
|
desc 'conceal <org> <user>', "Conceal a user’s membership"
|
55
71
|
def conceal(org, user)
|
56
|
-
|
72
|
+
global_options = options.dup
|
73
|
+
params = options[:params].dup
|
74
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
75
|
+
Member.conceal org, user, params, global_options
|
57
76
|
end
|
58
77
|
|
59
78
|
end # Members
|
@@ -20,12 +20,13 @@ module GithubCLI
|
|
20
20
|
commit_message - Optional String - Commit message to use for the merge commit. If omitted, a default message will be used.\n
|
21
21
|
DESC
|
22
22
|
def perform(user, repo)
|
23
|
+
global_options = options.dup
|
23
24
|
params = options[:params].dup
|
24
25
|
params['base'] = options[:base] if options[:base]
|
25
26
|
params['head'] = options[:head] if options[:head]
|
26
27
|
params['commit_message'] = options[:message] if options[:message]
|
27
|
-
|
28
|
-
Merging.merge user, repo, params,
|
28
|
+
Util.hash_without!(global_options, params.keys + ['params', 'commit_message'])
|
29
|
+
Merging.merge user, repo, params, global_options
|
29
30
|
end
|
30
31
|
|
31
32
|
end # Merging
|