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
@@ -20,16 +20,21 @@ module GithubCLI
|
|
20
20
|
direction - asc, desc, default: desc\n
|
21
21
|
DESC
|
22
22
|
def list(user, repo)
|
23
|
+
global_options = options.dup
|
23
24
|
params = options[:params].dup
|
24
|
-
params['state']
|
25
|
-
params['sort']
|
25
|
+
params['state'] = options[:state] || 'open'
|
26
|
+
params['sort'] = options[:sort] || 'due_date'
|
26
27
|
params['direction'] = options[:direction] || 'desc'
|
27
|
-
|
28
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
29
|
+
Milestone.all user, repo, params, global_options
|
28
30
|
end
|
29
31
|
|
30
32
|
desc 'get <user> <repo> <number>', 'Get a single milestone'
|
31
33
|
def get(user, repo, number)
|
32
|
-
|
34
|
+
global_options = options.dup
|
35
|
+
params = options[:params].dup
|
36
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
37
|
+
Milestone.get user, repo, number, params, global_options
|
33
38
|
end
|
34
39
|
|
35
40
|
desc 'create <user> <repo>', 'Create a milestone'
|
@@ -51,12 +56,14 @@ module GithubCLI
|
|
51
56
|
ghc milestone create wycats thor --title=new
|
52
57
|
DESC
|
53
58
|
def create(user, repo)
|
59
|
+
global_options = options.dup
|
54
60
|
params = options[:params].dup
|
55
|
-
params['title']
|
56
|
-
params['state']
|
57
|
-
params['description'] = options[:desc]
|
58
|
-
params['due_on']
|
59
|
-
|
61
|
+
params['title'] = options[:title]
|
62
|
+
params['state'] = options[:state] if options[:state]
|
63
|
+
params['description'] = options[:desc] if options[:desc]
|
64
|
+
params['due_on'] = options[:due_on] if options[:due_on]
|
65
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
66
|
+
Milestone.create user, repo, params, global_options
|
60
67
|
end
|
61
68
|
|
62
69
|
desc 'update <user> <repo> <number>', 'Update a milestone'
|
@@ -78,17 +85,22 @@ module GithubCLI
|
|
78
85
|
ghc milestone update wycats thor 1 --title=new
|
79
86
|
DESC
|
80
87
|
def update(user, repo, number)
|
88
|
+
global_options = options.dup
|
81
89
|
params = options[:params].dup
|
82
|
-
params['title']
|
83
|
-
params['state']
|
84
|
-
params['description'] = options[:desc]
|
85
|
-
params['due_on']
|
86
|
-
|
90
|
+
params['title'] = options[:title] if options[:title]
|
91
|
+
params['state'] = options[:state] if options[:state]
|
92
|
+
params['description'] = options[:desc] if options[:desc]
|
93
|
+
params['due_on'] = options[:due_on] if options[:due_on]
|
94
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
95
|
+
Milestone.update user, repo, number, params, global_options
|
87
96
|
end
|
88
97
|
|
89
98
|
desc 'delete <user> <repo> <number>', 'Delete a milestone'
|
90
99
|
def delete(user, repo, number)
|
91
|
-
|
100
|
+
global_options = options.dup
|
101
|
+
params = options[:params].dup
|
102
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
103
|
+
Milestone.delete user, repo, number, params, global_options
|
92
104
|
end
|
93
105
|
|
94
106
|
end # Milestones
|
@@ -22,16 +22,20 @@ module GithubCLI
|
|
22
22
|
since - Optional time - filters out any notifications updated before the given time.\n
|
23
23
|
DESC
|
24
24
|
def list
|
25
|
+
global_options = options.dup
|
25
26
|
params = options[:params].dup
|
26
27
|
params['user'] = options[:user] if options[:user]
|
27
28
|
params['repo'] = options[:repo] if options[:repo]
|
28
|
-
|
29
|
-
Notification.all params,
|
29
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
30
|
+
Notification.all params, global_options
|
30
31
|
end
|
31
32
|
|
32
33
|
desc 'get <id>', 'View a single thread'
|
33
34
|
def get(id)
|
34
|
-
|
35
|
+
global_options = options.dup
|
36
|
+
params = options[:params].dup
|
37
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
38
|
+
Notification.get id, params, global_options
|
35
39
|
end
|
36
40
|
|
37
41
|
option :user, :type => :string, :aliases => ["-u"]
|
@@ -40,20 +44,22 @@ module GithubCLI
|
|
40
44
|
option :id, :type => :numeric, :desc => "thread id to be marked"
|
41
45
|
desc 'mark', 'Mark as read'
|
42
46
|
def mark
|
47
|
+
global_options = options.dup
|
43
48
|
params = options[:params].dup
|
44
49
|
params['user'] = options[:user] if options[:user]
|
45
50
|
params['repo'] = options[:repo] if options[:repo]
|
46
51
|
params['read'] = options[:read] if options[:read]
|
47
52
|
params['thread_id'] = options[:id] if options[:id]
|
48
|
-
|
49
|
-
Notification.mark params,
|
53
|
+
Util.hash_without!(global_options, params.keys + ['params', 'id'])
|
54
|
+
Notification.mark params, global_options
|
50
55
|
end
|
51
56
|
|
52
57
|
desc 'check', 'Check to see if the current user is subscribed to a thread'
|
53
58
|
def check(id)
|
59
|
+
global_options = options.dup
|
54
60
|
params = options[:params].dup
|
55
|
-
|
56
|
-
Notification.subscribed? id, params,
|
61
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
62
|
+
Notification.subscribed? id, params, global_options
|
57
63
|
end
|
58
64
|
|
59
65
|
option :subscribed, :type => :boolean,
|
@@ -67,18 +73,20 @@ module GithubCLI
|
|
67
73
|
a thread will mute all future notifications (until you comment or get @mentioned).
|
68
74
|
DESC
|
69
75
|
def create(id)
|
76
|
+
global_options = options.dup
|
70
77
|
params = options[:params].dup
|
71
78
|
params['subscribed'] = options[:subscribed] if options[:subscrirbed]
|
72
79
|
params['ignored'] = options[:ignored] if options[:ignored]
|
73
|
-
|
74
|
-
Notification.create id, params,
|
80
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
81
|
+
Notification.create id, params, global_options
|
75
82
|
end
|
76
83
|
|
77
84
|
desc 'delete', 'Delete a thread subscription'
|
78
85
|
def delete(id)
|
86
|
+
global_options = options.dup
|
79
87
|
params = options[:params].dup
|
80
|
-
|
81
|
-
Notification.delete id, params,
|
88
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
89
|
+
Notification.delete id, params, global_options
|
82
90
|
end
|
83
91
|
|
84
92
|
end # Notifications
|
@@ -10,15 +10,26 @@ module GithubCLI
|
|
10
10
|
:desc => 'List all public organizations for a user',
|
11
11
|
:banner => '<user>'
|
12
12
|
def list
|
13
|
-
|
14
|
-
|
13
|
+
global_options = options.dup
|
14
|
+
params = options[:params].dup
|
15
|
+
params['user'] = options[:user] if options[:user]
|
16
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
17
|
+
Organization.list params, global_options
|
15
18
|
end
|
16
19
|
|
17
20
|
desc 'get <org>', 'Get properties for a single organization'
|
18
21
|
def get(org)
|
19
|
-
|
22
|
+
global_options = options.dup
|
23
|
+
params = options[:params].dup
|
24
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
25
|
+
Organization.get org, params, global_options
|
20
26
|
end
|
21
27
|
|
28
|
+
option :billing_email, :type => :string
|
29
|
+
option :company, :type => :string
|
30
|
+
option :email, :type => :string
|
31
|
+
option :location, :type => :string
|
32
|
+
option :name, :type => :string
|
22
33
|
desc 'edit <org>', 'Edit organization'
|
23
34
|
long_desc <<-DESC
|
24
35
|
Parameters
|
@@ -31,10 +42,18 @@ module GithubCLI
|
|
31
42
|
|
32
43
|
Example
|
33
44
|
|
34
|
-
|
45
|
+
gcli org edit rails --name=github --company=GitHub --email=support@github.com
|
35
46
|
DESC
|
36
47
|
def edit(org)
|
37
|
-
|
48
|
+
global_options = options.dup
|
49
|
+
params = options[:params].dup
|
50
|
+
params['billing_email'] = options[:billing_email] if options[:billing_email]
|
51
|
+
params['company'] = options[:company] if options[:company]
|
52
|
+
params['email'] = options[:email] if options[:email]
|
53
|
+
params['location'] = options[:location] if options[:location]
|
54
|
+
params['name'] = options[:name] if options[:name]
|
55
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
56
|
+
Organization.edit org, params, global_options
|
38
57
|
end
|
39
58
|
|
40
59
|
end # Organizations
|
@@ -7,12 +7,18 @@ module GithubCLI
|
|
7
7
|
|
8
8
|
desc 'list <user> <repo>', 'List all Pull Requests'
|
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
|
+
PullRequest.list user, repo, params, global_options
|
11
14
|
end
|
12
15
|
|
13
16
|
desc 'get <user> <repo> <number>', 'Get a Pull Request'
|
14
17
|
def get(user, repo, number)
|
15
|
-
|
18
|
+
global_options = options.dup
|
19
|
+
params = options[:params].dup
|
20
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
21
|
+
PullRequest.get user, repo, number, params, global_options
|
16
22
|
end
|
17
23
|
|
18
24
|
desc 'create <user> <repo>', 'Create a new Pull Request'
|
@@ -25,13 +31,15 @@ module GithubCLI
|
|
25
31
|
option :issue, :type => :string,
|
26
32
|
:desc => "Issue number in this repository to turn into a Pull Request"
|
27
33
|
def create(user, repo)
|
34
|
+
global_options = options.dup
|
28
35
|
params = options[:params].dup
|
29
36
|
params['title'] = options[:title] if options[:title]
|
30
37
|
params['body'] = options[:body] if options[:body]
|
31
38
|
params['base'] = options[:base] if options[:base]
|
32
39
|
params['head'] = options[:head] if options[:head]
|
33
40
|
params['issue'] = options[:issue] if options[:issue]
|
34
|
-
|
41
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
42
|
+
PullRequest.create user, repo, params, global_options
|
35
43
|
end
|
36
44
|
|
37
45
|
desc 'update <user> <repo> <number>', 'Update a Pull Request'
|
@@ -40,31 +48,45 @@ module GithubCLI
|
|
40
48
|
option :state, :type => :string,
|
41
49
|
:desc => "State of this Pull Request. Valid values are open and closed"
|
42
50
|
def update(user, repo, number)
|
51
|
+
global_options = options.dup
|
43
52
|
params = options[:params].dup
|
44
53
|
params['title'] = options[:title] if options[:title]
|
45
54
|
params['body'] = options[:body] if options[:body]
|
46
55
|
params['state'] = options[:state] if options[:state]
|
47
|
-
|
56
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
57
|
+
PullRequest.update user, repo, number, params, global_options
|
48
58
|
end
|
49
59
|
|
50
60
|
desc 'commits <user> <repo> <number>', 'List commits on a Pull Request'
|
51
61
|
def commits(user, repo, number)
|
52
|
-
|
62
|
+
global_options = options.dup
|
63
|
+
params = options[:params].dup
|
64
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
65
|
+
PullRequest.commits user, repo, number, params, global_options
|
53
66
|
end
|
54
67
|
|
55
68
|
desc 'files <user> <repo> <number>', 'List Pull Requests Files'
|
56
69
|
def files(user, repo, number)
|
57
|
-
|
70
|
+
global_options = options.dup
|
71
|
+
params = options[:params].dup
|
72
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
73
|
+
PullRequest.files user, repo, number, params, global_options
|
58
74
|
end
|
59
75
|
|
60
76
|
desc 'merged <user> <repo> <number>', 'Get if a pull request has been merged'
|
61
77
|
def merged(user, repo, number)
|
62
|
-
|
78
|
+
global_options = options.dup
|
79
|
+
params = options[:params].dup
|
80
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
81
|
+
PullRequest.merged user, repo, number, params, global_options
|
63
82
|
end
|
64
83
|
|
65
84
|
desc 'merge <user> <repo> <number>', 'Merge a pull request'
|
66
85
|
def merge(user, repo, number)
|
67
|
-
|
86
|
+
global_options = options.dup
|
87
|
+
params = options[:params].dup
|
88
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
89
|
+
PullRequest.merge user, repo, number, params, global_options
|
68
90
|
end
|
69
91
|
|
70
92
|
end # PullRequests
|
@@ -8,16 +8,21 @@ module GithubCLI
|
|
8
8
|
desc 'list <user> <repo>', 'List all References'
|
9
9
|
option :ref, :type => :string, :banner => 'branch reference'
|
10
10
|
def list(user, repo)
|
11
|
+
global_options = options.dup
|
11
12
|
params = options[:params].dup
|
12
13
|
if options[:ref]
|
13
14
|
params['ref'] = options[:ref]
|
14
15
|
end
|
15
|
-
|
16
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
17
|
+
Reference.list user, repo, params, global_options
|
16
18
|
end
|
17
19
|
|
18
20
|
desc 'get <user> <repo> <ref>', 'Get a Reference'
|
19
21
|
def get(user, repo, ref)
|
20
|
-
|
22
|
+
global_options = options.dup
|
23
|
+
params = options[:params].dup
|
24
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
25
|
+
Reference.get user, repo, ref, params, global_options
|
21
26
|
end
|
22
27
|
|
23
28
|
desc 'create <user> <repo>', 'Create a new Reference'
|
@@ -32,10 +37,12 @@ module GithubCLI
|
|
32
37
|
sha - String of the SHA1 value to set this reference to.
|
33
38
|
DESC
|
34
39
|
def create(user, repo)
|
40
|
+
global_options = options.dup
|
35
41
|
params = options[:params].dup
|
36
42
|
params['ref'] = options[:ref] if options[:ref]
|
37
43
|
params['sha'] = options[:sha] if options[:sha]
|
38
|
-
|
44
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
45
|
+
Reference.create user, repo, params, global_options
|
39
46
|
end
|
40
47
|
|
41
48
|
desc 'update <user> <repo> <ref>', 'Update a Reference'
|
@@ -50,15 +57,20 @@ module GithubCLI
|
|
50
57
|
force - Boolean indicating whether to force the update or to make sure the update is a fast-forward update. The default is <tt>false</tt>, so leaving this out or setting it to false will make sure you’re not overwriting work.
|
51
58
|
DESC
|
52
59
|
def update(user, repo, ref)
|
60
|
+
global_options = options.dup
|
53
61
|
params = options[:params].dup
|
54
62
|
params['sha'] = options[:sha] if options[:sha]
|
55
63
|
params['force'] = options[:force] || false
|
56
|
-
|
64
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
65
|
+
Reference.update user, repo, ref, params, global_options
|
57
66
|
end
|
58
67
|
|
59
68
|
desc 'delete <user> <repo> <ref>', 'Delete a Reference'
|
60
69
|
def delete(user, repo, ref)
|
61
|
-
|
70
|
+
global_options = options.dup
|
71
|
+
params = options[:params].dup
|
72
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
73
|
+
Reference.delete user, repo, ref, params, global_options
|
62
74
|
end
|
63
75
|
|
64
76
|
end # References
|
@@ -9,6 +9,8 @@ module GithubCLI
|
|
9
9
|
:desc => 'List repositories for <organization>'
|
10
10
|
option :user, :type => :string, :aliases => ["-u"], :banner => '<user>',
|
11
11
|
:desc => 'List repositories for <user>'
|
12
|
+
option :every, :type => :boolean, :default => false,
|
13
|
+
:desc => "This provides a dump of every repository, in the order that they were created."
|
12
14
|
option :since, :type => :string, :banner => '<id>',
|
13
15
|
:desc => "the integer ID of the last Repository that you've seen"
|
14
16
|
option :type, :type => :string,
|
@@ -21,11 +23,11 @@ module GithubCLI
|
|
21
23
|
def list
|
22
24
|
global_options = options.dup
|
23
25
|
params = options[:params].dup
|
24
|
-
params['org'] = options[:org]
|
25
|
-
params['user'] = options[:user]
|
26
|
+
params['org'] = options[:org] if options[:org]
|
27
|
+
params['user'] = options[:user] if options[:user]
|
26
28
|
params['since'] = options[:since] if options[:since]
|
27
|
-
params['type'] = options[:type]
|
28
|
-
params['sort'] = options[:sort]
|
29
|
+
params['type'] = options[:type] if options[:type]
|
30
|
+
params['sort'] = options[:sort] if options[:sort]
|
29
31
|
params['direction'] = options[:direction] if options[:direction]
|
30
32
|
Util.hash_without!(global_options, params.keys + ['params'])
|
31
33
|
Repository.all params, global_options
|
@@ -5,6 +5,7 @@ module GithubCLI
|
|
5
5
|
|
6
6
|
namespace :search
|
7
7
|
|
8
|
+
option :state, :type => :string, :aliases => ["-s"], :desc => 'Repository name'
|
8
9
|
desc 'issue <owner> <repo> <keyword>', 'Search issues'
|
9
10
|
long_desc <<-DESC
|
10
11
|
Search issues
|
@@ -14,25 +15,42 @@ module GithubCLI
|
|
14
15
|
state - open or closed. \n
|
15
16
|
keyword - search term
|
16
17
|
DESC
|
17
|
-
method_option :state, :type => :string, :aliases => ["-s"],
|
18
|
-
:desc => 'Repository name'
|
19
18
|
def issue(owner, repo, keyword)
|
20
|
-
|
19
|
+
global_options = options.dup
|
20
|
+
params = options[:params].dup
|
21
|
+
params['owner'] = owner
|
22
|
+
params['repo'] = repo
|
23
|
+
params['keyword'] = keyword
|
24
|
+
params['state'] = options[:state] if options[:state]
|
25
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
26
|
+
Search.issue params, global_options
|
21
27
|
end
|
22
28
|
|
23
29
|
desc 'repo <keyword>', 'Repository search'
|
24
30
|
def repo(keyword)
|
25
|
-
|
31
|
+
global_options = options.dup
|
32
|
+
params = options[:params].dup
|
33
|
+
params['keyword'] = keyword
|
34
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
35
|
+
Search.repo params, global_options
|
26
36
|
end
|
27
37
|
|
28
38
|
desc 'user <keyword>', 'User search'
|
29
39
|
def user(keyword)
|
30
|
-
|
40
|
+
global_options = options.dup
|
41
|
+
params = options[:params].dup
|
42
|
+
params['keyword'] = keyword
|
43
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
44
|
+
Search.user params, global_options
|
31
45
|
end
|
32
46
|
|
33
47
|
desc 'email <email>', 'Email search'
|
34
48
|
def email(email)
|
35
|
-
|
49
|
+
global_options = options.dup
|
50
|
+
params = options[:params].dup
|
51
|
+
params['email'] = email
|
52
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
53
|
+
Search.email params, global_options
|
36
54
|
end
|
37
55
|
|
38
56
|
end # Search
|
@@ -7,7 +7,10 @@ module GithubCLI
|
|
7
7
|
|
8
8
|
desc 'list <user> <repo>', 'Lists stargazers'
|
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
|
+
Starring.list user, repo, params, global_options
|
11
14
|
end
|
12
15
|
|
13
16
|
desc 'starred', 'Lists repos being starred by a user'
|
@@ -15,25 +18,36 @@ module GithubCLI
|
|
15
18
|
:desc => 'Starred repositories for <user>'
|
16
19
|
def starred
|
17
20
|
params = options[:params].dup
|
21
|
+
global_options = options.dup
|
18
22
|
if options[:user]
|
19
23
|
params['user'] = options[:user]
|
20
24
|
end
|
21
|
-
|
25
|
+
Util.hash_without!(global_options, params.keys + ['params', 'user'])
|
26
|
+
Starring.starred params, global_options
|
22
27
|
end
|
23
28
|
|
24
29
|
desc 'starring <user> <repo>', 'Check if you are starring a repository'
|
25
30
|
def starring(user, repo)
|
26
|
-
|
31
|
+
global_options = options.dup
|
32
|
+
params = options[:params].dup
|
33
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
34
|
+
Starring.starring? user, repo, params, global_options
|
27
35
|
end
|
28
36
|
|
29
37
|
desc 'star <user> <repo>', 'Star a repository'
|
30
38
|
def star(user, repo)
|
31
|
-
|
39
|
+
global_options = options.dup
|
40
|
+
params = options[:params].dup
|
41
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
42
|
+
Starring.star user, repo, params, global_options
|
32
43
|
end
|
33
44
|
|
34
45
|
desc 'unstar <user> <repo>', 'Unstar a repository'
|
35
46
|
def unstar(user, repo)
|
36
|
-
|
47
|
+
global_options = options.dup
|
48
|
+
params = options[:params].dup
|
49
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
50
|
+
Starring.unstar user, repo, params, global_options
|
37
51
|
end
|
38
52
|
|
39
53
|
end # Starring
|
@@ -7,7 +7,10 @@ module GithubCLI
|
|
7
7
|
|
8
8
|
desc 'list <user> <repo> <sha>', 'Lists statuses for a <sha>'
|
9
9
|
def list(user, repo, sha)
|
10
|
-
|
10
|
+
global_options = options.dup
|
11
|
+
params = options[:params].dup
|
12
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
13
|
+
Status.all user, repo, sha, params, global_options
|
11
14
|
end
|
12
15
|
|
13
16
|
option :state, :type => :string, :required => true,
|
@@ -25,12 +28,13 @@ module GithubCLI
|
|
25
28
|
description - Optional string - Short description of the status\n
|
26
29
|
DESC
|
27
30
|
def create(user, repo, sha)
|
31
|
+
global_options = options.dup
|
28
32
|
params = options[:params].dup
|
29
33
|
params['state'] = options[:state] if options[:state]
|
30
34
|
params['target_url'] = options[:target] if options[:target]
|
31
35
|
params['description'] = options[:desc] if options[:desc]
|
32
|
-
|
33
|
-
Status.create user, repo, sha, params,
|
36
|
+
Util.hash_without!(global_options, params.keys + ['params', 'target'])
|
37
|
+
Status.create user, repo, sha, params, global_options
|
34
38
|
end
|
35
39
|
|
36
40
|
end # Statuses
|
@@ -9,7 +9,10 @@ module GithubCLI
|
|
9
9
|
method_option :recursive, :type => :boolean, :aliases => ["-r"],
|
10
10
|
:desc => 'get a tree recursively'
|
11
11
|
def get(user, repo, sha)
|
12
|
-
|
12
|
+
global_options = options.dup
|
13
|
+
params = options[:params].dup
|
14
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
15
|
+
Tag.get user, repo, sha, params, global_options
|
13
16
|
end
|
14
17
|
|
15
18
|
desc 'create <user> <repo>', 'Create a Tag Object'
|
@@ -39,14 +42,15 @@ module GithubCLI
|
|
39
42
|
tagger.date - Timestamp of when this object was tagged \n
|
40
43
|
DESC
|
41
44
|
def create(user, repo)
|
45
|
+
global_options = options.dup
|
42
46
|
params = options[:params].dup
|
43
47
|
params['tag'] = options[:tag] if options[:tag]
|
44
48
|
params['message'] = options[:message] if options[:message]
|
45
49
|
params['object'] = options[:object] if options[:object]
|
46
50
|
params['type'] = optiosn[:type] if options[:type]
|
47
51
|
params['tagger'] = options[:tagger] if options[:tagger]
|
48
|
-
|
49
|
-
Tag.create user, repo, params,
|
52
|
+
Util.hash_without!(global_options, params.keys + ['params'])
|
53
|
+
Tag.create user, repo, params, global_options
|
50
54
|
end
|
51
55
|
|
52
56
|
end # Tag
|