github_cli 0.5.1 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG.md +10 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +19 -11
- data/features/label.feature +2 -2
- data/features/starring.feature +74 -0
- data/features/watching.feature +22 -8
- data/github_cli.gemspec +1 -1
- data/lib/github_cli/apis/label.rb +8 -4
- data/lib/github_cli/apis/starring.rb +40 -0
- data/lib/github_cli/apis/watching.rb +7 -7
- data/lib/github_cli/apis.rb +1 -0
- data/lib/github_cli/commands/authorizations.rb +1 -1
- data/lib/github_cli/commands/labels.rb +2 -2
- data/lib/github_cli/commands/starring.rb +39 -0
- data/lib/github_cli/commands/watching.rb +5 -5
- data/lib/github_cli/commands.rb +1 -0
- data/lib/github_cli/formatters/table.rb +3 -3
- data/lib/github_cli/subcommands.rb +3 -0
- data/lib/github_cli/ui.rb +16 -10
- data/lib/github_cli/util.rb +3 -2
- data/lib/github_cli/version.rb +1 -1
- data/lib/github_cli.rb +1 -1
- metadata +110 -71
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
0.5.2 (September 22, 2012)
|
2
|
+
|
3
|
+
* Fix bug with Ruby 1.8 and passing arguments in add and replace label api
|
4
|
+
* Fix ui component in Ruby 1.8 and add newline param
|
5
|
+
* Update dependencies.
|
6
|
+
* Fix table formatting in Ruby 1.8.
|
7
|
+
* Change watching api to new subscribers api.
|
8
|
+
* Add starring api commands.
|
9
|
+
* Fix bug preventing listing of your authorizations.
|
10
|
+
|
1
11
|
0.5.1 (September 16, 2012)
|
2
12
|
|
3
13
|
* Fix bug - failure to load vendored dependencies.
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,8 +1,16 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
github_cli (0.5.
|
5
|
-
github_api (~> 0.
|
4
|
+
github_cli (0.5.2)
|
5
|
+
github_api (~> 0.7)
|
6
|
+
|
7
|
+
PATH
|
8
|
+
remote: ../communist
|
9
|
+
specs:
|
10
|
+
communist (0.3.0)
|
11
|
+
json
|
12
|
+
rack
|
13
|
+
sinatra
|
6
14
|
|
7
15
|
GEM
|
8
16
|
remote: https://rubygems.org/
|
@@ -15,21 +23,18 @@ GEM
|
|
15
23
|
builder (3.0.0)
|
16
24
|
childprocess (0.3.2)
|
17
25
|
ffi (~> 1.0.6)
|
18
|
-
communist (0.1.0)
|
19
|
-
rack
|
20
|
-
sinatra
|
21
26
|
cucumber (1.2.1)
|
22
27
|
builder (>= 2.1.2)
|
23
28
|
diff-lcs (>= 1.1.3)
|
24
29
|
gherkin (~> 2.11.0)
|
25
30
|
json (>= 1.4.6)
|
26
31
|
diff-lcs (1.1.3)
|
27
|
-
faraday (0.8.
|
32
|
+
faraday (0.8.4)
|
28
33
|
multipart-post (~> 1.1)
|
29
34
|
ffi (1.0.11)
|
30
35
|
gherkin (2.11.0)
|
31
36
|
json (>= 1.4.6)
|
32
|
-
github_api (0.
|
37
|
+
github_api (0.7.0)
|
33
38
|
faraday (~> 0.8.1)
|
34
39
|
hashie (~> 1.2.0)
|
35
40
|
multi_json (~> 1.3)
|
@@ -39,15 +44,18 @@ GEM
|
|
39
44
|
hpricot (0.8.6)
|
40
45
|
httpauth (0.1)
|
41
46
|
json (1.7.3)
|
47
|
+
jwt (0.1.5)
|
48
|
+
multi_json (>= 1.0)
|
42
49
|
multi_json (1.3.6)
|
43
50
|
multipart-post (1.1.5)
|
44
51
|
mustache (0.99.4)
|
45
|
-
nokogiri (1.5.
|
46
|
-
oauth2 (0.
|
52
|
+
nokogiri (1.5.5)
|
53
|
+
oauth2 (0.8.0)
|
47
54
|
faraday (~> 0.8)
|
48
55
|
httpauth (~> 0.1)
|
56
|
+
jwt (~> 0.1.4)
|
49
57
|
multi_json (~> 1.0)
|
50
|
-
rack (~> 1.
|
58
|
+
rack (~> 1.2)
|
51
59
|
rack (1.4.1)
|
52
60
|
rack-protection (1.2.0)
|
53
61
|
rack
|
@@ -76,7 +84,7 @@ PLATFORMS
|
|
76
84
|
|
77
85
|
DEPENDENCIES
|
78
86
|
aruba
|
79
|
-
communist
|
87
|
+
communist!
|
80
88
|
github_cli!
|
81
89
|
rake
|
82
90
|
ronn
|
data/features/label.feature
CHANGED
@@ -60,7 +60,7 @@ Feature: gcli label
|
|
60
60
|
"""
|
61
61
|
post('/repos/wycats/thor/issues/1/labels') { status 200 }
|
62
62
|
"""
|
63
|
-
When I run `gcli label add wycats thor 1
|
63
|
+
When I run `gcli label add wycats thor 1 bug feature`
|
64
64
|
Then the exit status should be 0
|
65
65
|
|
66
66
|
Scenario: Remove label from an issue
|
@@ -92,7 +92,7 @@ Feature: gcli label
|
|
92
92
|
"""
|
93
93
|
put('/repos/wycats/thor/issues/1/labels') { status 200 }
|
94
94
|
"""
|
95
|
-
When I run `gcli label replace wycats thor 1
|
95
|
+
When I run `gcli label replace wycats thor 1 bug feature`
|
96
96
|
Then the exit status should be 0
|
97
97
|
|
98
98
|
Scenario: Milestone labels
|
@@ -0,0 +1,74 @@
|
|
1
|
+
Feature: gcli star
|
2
|
+
|
3
|
+
Scenario: Available commands
|
4
|
+
|
5
|
+
When I run `gcli star`
|
6
|
+
Then the exit status should be 0
|
7
|
+
And the output should contain "gcli star list"
|
8
|
+
And the output should contain "gcli star star"
|
9
|
+
And the output should contain "gcli star unstar"
|
10
|
+
And the output should contain "gcli star starred"
|
11
|
+
And the output should contain "gcli star starring"
|
12
|
+
|
13
|
+
Scenario: List stargazers
|
14
|
+
Given the GitHub API server:
|
15
|
+
"""
|
16
|
+
get('/repos/wycats/thor/stargazers') {
|
17
|
+
body :login => 'octokit', :id => 1,
|
18
|
+
:url => 'https://api.github.com/users/peter-murach'
|
19
|
+
status 200
|
20
|
+
}
|
21
|
+
"""
|
22
|
+
When I successfully run `gcli star ls wycats thor`
|
23
|
+
Then the stdout should contain "octokit"
|
24
|
+
|
25
|
+
Scenario: Star
|
26
|
+
Given the GitHub API server:
|
27
|
+
"""
|
28
|
+
put('/user/starred/wycats/thor') { status 204 }
|
29
|
+
"""
|
30
|
+
When I run `gcli star star wycats thor`
|
31
|
+
Then the exit status should be 0
|
32
|
+
|
33
|
+
Scenario: Unstar
|
34
|
+
Given the GitHub API server:
|
35
|
+
"""
|
36
|
+
delete('/user/starred/wycats/thor') { status 204 }
|
37
|
+
"""
|
38
|
+
When I run `gcli star unstar wycats thor`
|
39
|
+
Then the exit status should be 0
|
40
|
+
|
41
|
+
Scenario: Starring
|
42
|
+
Given the GitHub API server:
|
43
|
+
"""
|
44
|
+
get('/user/starred/wycats/thor') { status 204 }
|
45
|
+
"""
|
46
|
+
When I run `gcli star starring wycats thor`
|
47
|
+
Then the exit status should be 0
|
48
|
+
And the stdout should contain "true"
|
49
|
+
|
50
|
+
Scenario: Not Starring
|
51
|
+
Given the GitHub API server:
|
52
|
+
"""
|
53
|
+
get('/user/starred/wycats/thor') { status 404 }
|
54
|
+
"""
|
55
|
+
When I run `gcli star starring wycats thor`
|
56
|
+
Then the exit status should be 0
|
57
|
+
And the stdout should contain "false"
|
58
|
+
|
59
|
+
Scenario: Starred by a user
|
60
|
+
Given the GitHub API server:
|
61
|
+
"""
|
62
|
+
get('/users/wycats/starred') { status 200 }
|
63
|
+
"""
|
64
|
+
When I run `gcli star starred -u wycats`
|
65
|
+
Then the exit status should be 0
|
66
|
+
|
67
|
+
Scenario: Starred by the authenticated user
|
68
|
+
Given the GitHub API server:
|
69
|
+
"""
|
70
|
+
get('/user/starred') { status 200 }
|
71
|
+
"""
|
72
|
+
When I run `gcli star starred`
|
73
|
+
Then the exit status should be 0
|
74
|
+
|
data/features/watching.feature
CHANGED
@@ -4,24 +4,28 @@ Feature: gcli watching
|
|
4
4
|
|
5
5
|
When I run `gcli watch`
|
6
6
|
Then the exit status should be 0
|
7
|
+
And the output should contain "gcli watch list"
|
7
8
|
And the output should contain "gcli watch start"
|
8
9
|
And the output should contain "gcli watch stop"
|
9
10
|
And the output should contain "gcli watch watched"
|
10
|
-
And the output should contain "gcli watch watchers"
|
11
11
|
And the output should contain "gcli watch watching"
|
12
12
|
|
13
|
-
Scenario:
|
13
|
+
Scenario: List watchers
|
14
14
|
Given the GitHub API server:
|
15
15
|
"""
|
16
|
-
get('/repos/wycats/thor/
|
16
|
+
get('/repos/wycats/thor/subscribers') {
|
17
|
+
body :login => 'octokit', :id => 1,
|
18
|
+
:url => 'https://api.github.com/users/peter-murach'
|
19
|
+
status 200
|
20
|
+
}
|
17
21
|
"""
|
18
|
-
When I run `gcli watch
|
19
|
-
Then the
|
22
|
+
When I successfully run `gcli watch ls wycats thor`
|
23
|
+
Then the stdout should contain "octokit"
|
20
24
|
|
21
25
|
Scenario: Start watching
|
22
26
|
Given the GitHub API server:
|
23
27
|
"""
|
24
|
-
put('/user/
|
28
|
+
put('/user/subscriptions/wycats/thor') { status 204 }
|
25
29
|
"""
|
26
30
|
When I run `gcli watch start wycats thor`
|
27
31
|
Then the exit status should be 0
|
@@ -29,7 +33,7 @@ Feature: gcli watching
|
|
29
33
|
Scenario: Stop watching
|
30
34
|
Given the GitHub API server:
|
31
35
|
"""
|
32
|
-
delete('/user/
|
36
|
+
delete('/user/subscriptions/wycats/thor') { status 204 }
|
33
37
|
"""
|
34
38
|
When I run `gcli watch stop wycats thor`
|
35
39
|
Then the exit status should be 0
|
@@ -37,10 +41,20 @@ Feature: gcli watching
|
|
37
41
|
Scenario: Watching
|
38
42
|
Given the GitHub API server:
|
39
43
|
"""
|
40
|
-
get('/user/
|
44
|
+
get('/user/subscriptions/wycats/thor') { status 204 }
|
45
|
+
"""
|
46
|
+
When I run `gcli watch watching wycats thor`
|
47
|
+
Then the exit status should be 0
|
48
|
+
And the stdout should contain "true"
|
49
|
+
|
50
|
+
Scenario: Not Watching
|
51
|
+
Given the GitHub API server:
|
52
|
+
"""
|
53
|
+
get('/user/subscriptions/wycats/thor') { status 404 }
|
41
54
|
"""
|
42
55
|
When I run `gcli watch watching wycats thor`
|
43
56
|
Then the exit status should be 0
|
57
|
+
And the stdout should contain "false"
|
44
58
|
|
45
59
|
Scenario: Watched by a user
|
46
60
|
Given the GitHub API server:
|
data/github_cli.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |gem|
|
|
17
17
|
gem.require_paths = ["lib"]
|
18
18
|
gem.version = GithubCLI::VERSION
|
19
19
|
|
20
|
-
gem.add_dependency 'github_api', '~> 0.
|
20
|
+
gem.add_dependency 'github_api', '~> 0.7'
|
21
21
|
|
22
22
|
gem.add_development_dependency 'rspec'
|
23
23
|
gem.add_development_dependency 'aruba'
|
@@ -41,9 +41,11 @@ module GithubCLI
|
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
-
def add(user, repo, issue_id, *args
|
44
|
+
def add(user, repo, issue_id, *args)
|
45
|
+
format, params = args.pop, args.pop
|
46
|
+
|
45
47
|
output format do
|
46
|
-
github_api.issues.labels.add user, repo, issue_id,
|
48
|
+
github_api.issues.labels.add user, repo, issue_id, args.flatten, params
|
47
49
|
end
|
48
50
|
end
|
49
51
|
|
@@ -53,9 +55,11 @@ module GithubCLI
|
|
53
55
|
end
|
54
56
|
end
|
55
57
|
|
56
|
-
def replace(user, repo, issue_id, *args
|
58
|
+
def replace(user, repo, issue_id, *args)
|
59
|
+
format, params = args.pop, args.pop
|
60
|
+
|
57
61
|
output format do
|
58
|
-
github_api.issues.labels.replace user, repo, issue_id,
|
62
|
+
github_api.issues.labels.replace user, repo, issue_id, args.flatten, params
|
59
63
|
end
|
60
64
|
end
|
61
65
|
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module GithubCLI
|
4
|
+
class Starring < API
|
5
|
+
|
6
|
+
class << self
|
7
|
+
|
8
|
+
def list(user, repo, params, format)
|
9
|
+
output format do
|
10
|
+
github_api.repos.starring.list user, repo, params
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def starred(params, format)
|
15
|
+
output format do
|
16
|
+
github_api.repos.starring.starred params
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def starring?(user, repo, params, format)
|
21
|
+
output format do
|
22
|
+
github_api.repos.starring.starring? user, repo, params
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def star(user, repo, params, format)
|
27
|
+
output format do
|
28
|
+
github_api.repos.starring.star user, repo, params
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def unstar(user, repo, params, format)
|
33
|
+
output format do
|
34
|
+
github_api.repos.starring.unstar user, repo, params
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
end # Starring
|
40
|
+
end # GithubCLI
|
@@ -5,15 +5,15 @@ module GithubCLI
|
|
5
5
|
|
6
6
|
class << self
|
7
7
|
|
8
|
-
def
|
8
|
+
def list(user, repo, params, format)
|
9
9
|
output format do
|
10
|
-
github_api.repos.watching.
|
10
|
+
github_api.repos.watching.list user, repo, params
|
11
11
|
end
|
12
12
|
end
|
13
13
|
|
14
14
|
def watched(params, format)
|
15
15
|
output format do
|
16
|
-
github_api.repos.watching.watched
|
16
|
+
github_api.repos.watching.watched params
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
@@ -23,15 +23,15 @@ module GithubCLI
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
def
|
26
|
+
def start(user, repo, params, format)
|
27
27
|
output format do
|
28
|
-
github_api.repos.watching.
|
28
|
+
github_api.repos.watching.watch user, repo, params
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
-
def
|
32
|
+
def stop(user, repo, params, format)
|
33
33
|
output format do
|
34
|
-
github_api.repos.watching.
|
34
|
+
github_api.repos.watching.unwatch user, repo, params
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
data/lib/github_cli/apis.rb
CHANGED
@@ -10,7 +10,7 @@ module GithubCLI
|
|
10
10
|
You can only list your own tokens, and only through Basic Authentication.
|
11
11
|
DESC
|
12
12
|
def list
|
13
|
-
Authorization.all options[:params], options[:
|
13
|
+
Authorization.all options[:params], options[:format]
|
14
14
|
end
|
15
15
|
|
16
16
|
desc 'get <id>', 'Get a single authorization'
|
@@ -42,7 +42,7 @@ module GithubCLI
|
|
42
42
|
|
43
43
|
desc 'add <user> <repo> <issue_id> <label>[<label>...]', 'Add labels to <issue_id>.'
|
44
44
|
def add(user, repo, issue_id, *args)
|
45
|
-
Label.add user, repo, issue_id,
|
45
|
+
Label.add user, repo, issue_id, args, options[:params], options[:format]
|
46
46
|
end
|
47
47
|
|
48
48
|
desc 'remove <user> <repo> [<label_id>/]<issue_id>', 'Remove <label_id> from an <issue_id>'
|
@@ -53,7 +53,7 @@ module GithubCLI
|
|
53
53
|
|
54
54
|
desc 'replace <user> <repo> <issue_id> <label>[<label>...]', 'Replace all labels for an <issue_id>.'
|
55
55
|
def replace(user, repo, issue_id, *args)
|
56
|
-
Label.replace user, repo, issue_id,
|
56
|
+
Label.replace user, repo, issue_id, args, options[:params], options[:format]
|
57
57
|
end
|
58
58
|
|
59
59
|
desc 'milestone <user> <repo> <number>', 'Get labels for every issue in a milestone.'
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module GithubCLI
|
4
|
+
class Commands::Starring < Command
|
5
|
+
|
6
|
+
namespace :star
|
7
|
+
|
8
|
+
desc 'list <user> <repo>', 'Lists stargazers'
|
9
|
+
def list(user, repo)
|
10
|
+
Starring.list user, repo, options[:params], options[:format]
|
11
|
+
end
|
12
|
+
|
13
|
+
desc 'starred', 'Lists repos being starred by a user'
|
14
|
+
method_option :user, :type => :string, :aliases => ["-u"],
|
15
|
+
:desc => 'Starred repositories for <user>'
|
16
|
+
def starred(user, repo, id)
|
17
|
+
if options[:user]
|
18
|
+
options[:params]['user'] = options[:user]
|
19
|
+
end
|
20
|
+
Starring.starred options[:params], options[:format]
|
21
|
+
end
|
22
|
+
|
23
|
+
desc 'starring <user> <repo>', 'Check if you are starring a repository'
|
24
|
+
def starring(user, repo)
|
25
|
+
Starring.starring? user, repo, options[:params], options[:format]
|
26
|
+
end
|
27
|
+
|
28
|
+
desc 'star <user> <repo>', 'Star a repository'
|
29
|
+
def star(user, repo)
|
30
|
+
Starring.star user, repo, options[:params], options[:format]
|
31
|
+
end
|
32
|
+
|
33
|
+
desc 'unstar <user> <repo>', 'Unstar a repository'
|
34
|
+
def unstar(user, repo)
|
35
|
+
Starring.unstar user, repo, options[:params], options[:format]
|
36
|
+
end
|
37
|
+
|
38
|
+
end # Starring
|
39
|
+
end # GithubCLI
|
@@ -5,9 +5,9 @@ module GithubCLI
|
|
5
5
|
|
6
6
|
namespace :watch
|
7
7
|
|
8
|
-
desc '
|
9
|
-
def
|
10
|
-
Watching.
|
8
|
+
desc 'list <user> <repo>', 'Lists repo watchers'
|
9
|
+
def list(user, repo)
|
10
|
+
Watching.list user, repo, options[:params], options[:format]
|
11
11
|
end
|
12
12
|
|
13
13
|
desc 'watched', 'Lists repos being watched by a user'
|
@@ -27,12 +27,12 @@ module GithubCLI
|
|
27
27
|
|
28
28
|
desc 'start <user> <repo>', 'Watch a repository'
|
29
29
|
def start(user, repo)
|
30
|
-
Watching.
|
30
|
+
Watching.start user, repo, options[:params], options[:format]
|
31
31
|
end
|
32
32
|
|
33
33
|
desc 'stop <user> <repo>', 'Stop watching a repository'
|
34
34
|
def stop(user, repo)
|
35
|
-
Watching.
|
35
|
+
Watching.stop user, repo, options[:params], options[:format]
|
36
36
|
end
|
37
37
|
|
38
38
|
end # Watching
|
data/lib/github_cli/commands.rb
CHANGED
@@ -24,6 +24,7 @@ module GithubCLI
|
|
24
24
|
autoload :References, 'github_cli/commands/references'
|
25
25
|
autoload :Repositories, 'github_cli/commands/repositories'
|
26
26
|
autoload :Search, 'github_cli/commands/search'
|
27
|
+
autoload :Starring, 'github_cli/commands/starring'
|
27
28
|
autoload :Tags, 'github_cli/commands/tags'
|
28
29
|
autoload :Teams, 'github_cli/commands/teams'
|
29
30
|
autoload :Trees, 'github_cli/commands/trees'
|
@@ -233,9 +233,9 @@ module GithubCLI
|
|
233
233
|
# Don't output 2 trailing spaces when printing last column
|
234
234
|
width = width - 2 if width > 3 # Ensure sensible width
|
235
235
|
end
|
236
|
-
field = if field.length == width
|
237
|
-
field
|
238
|
-
elsif field.length < width
|
236
|
+
field = if field.to_s.length == width
|
237
|
+
field.to_s
|
238
|
+
elsif field.to_s.length < width
|
239
239
|
pad(field.to_s, width, :align => style.align)
|
240
240
|
else
|
241
241
|
truncate(field.to_s, width)
|
@@ -69,6 +69,9 @@ module GithubCLI
|
|
69
69
|
desc "search <command>", "Leverage Search API"
|
70
70
|
subcommand "search", GithubCLI::Commands::Search
|
71
71
|
|
72
|
+
desc "star <command>", "Leverage Starring API"
|
73
|
+
subcommand "star", GithubCLI::Commands::Starring
|
74
|
+
|
72
75
|
desc "tag <command>", "Leverage Tags API"
|
73
76
|
subcommand "tag", GithubCLI::Commands::Tags
|
74
77
|
|
data/lib/github_cli/ui.rb
CHANGED
@@ -6,26 +6,32 @@ module GithubCLI
|
|
6
6
|
|
7
7
|
def initialize(shell)
|
8
8
|
@shell = shell
|
9
|
+
@quite = false
|
10
|
+
@debug = ENV['DEBUG']
|
9
11
|
end
|
10
12
|
|
11
|
-
def confirm(message)
|
12
|
-
@shell.say message, :green
|
13
|
+
def confirm(message, newline=nil)
|
14
|
+
@shell.say message, :green, newline
|
13
15
|
end
|
14
16
|
|
15
|
-
def info(message)
|
16
|
-
@shell.say message, nil
|
17
|
+
def info(message, newline=nil)
|
18
|
+
@shell.say message, nil, newline
|
17
19
|
end
|
18
20
|
|
19
|
-
def warn(message)
|
20
|
-
@shell.say message, :yellow
|
21
|
+
def warn(message, newline=nil)
|
22
|
+
@shell.say message, :yellow, newline
|
21
23
|
end
|
22
24
|
|
23
|
-
def error(message)
|
24
|
-
@shell.say message, :red
|
25
|
+
def error(message, newline=nil)
|
26
|
+
@shell.say message, :red, newline
|
25
27
|
end
|
26
28
|
|
27
|
-
def debug(message)
|
28
|
-
@shell.say message
|
29
|
+
def debug(message, newline=nil)
|
30
|
+
@shell.say message, nil, newline
|
31
|
+
end
|
32
|
+
|
33
|
+
def quite!
|
34
|
+
@quite = true
|
29
35
|
end
|
30
36
|
|
31
37
|
def debug!
|
data/lib/github_cli/util.rb
CHANGED
@@ -6,13 +6,13 @@ module GithubCLI
|
|
6
6
|
|
7
7
|
# Converts deeply nested hash into only one level structure
|
8
8
|
#
|
9
|
-
def flatten_hash(prefix=nil
|
9
|
+
def flatten_hash(hash, prefix=nil)
|
10
10
|
new_hash ||= {}
|
11
11
|
hash.each do |key, val|
|
12
12
|
key = prefix ? :"#{prefix}_#{key}" : key
|
13
13
|
case val
|
14
14
|
when Hash
|
15
|
-
new_hash.update flatten_hash(
|
15
|
+
new_hash.update flatten_hash(val, key)
|
16
16
|
else
|
17
17
|
new_hash[key] = val
|
18
18
|
end
|
@@ -86,5 +86,6 @@ module GithubCLI
|
|
86
86
|
def longest_common_prefix(string_1, string_2)
|
87
87
|
("#{string_1}\0#{string_2}").match(/^(.*).*\0\1/i).to_a[1]
|
88
88
|
end
|
89
|
+
|
89
90
|
end
|
90
91
|
end # GithubCLI
|
data/lib/github_cli/version.rb
CHANGED
data/lib/github_cli.rb
CHANGED
metadata
CHANGED
@@ -1,90 +1,117 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: github_cli
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 15
|
5
5
|
prerelease:
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 5
|
9
|
+
- 2
|
10
|
+
version: 0.5.2
|
6
11
|
platform: ruby
|
7
|
-
authors:
|
12
|
+
authors:
|
8
13
|
- Piotr Murach
|
9
14
|
autorequire:
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
17
|
+
|
18
|
+
date: 2012-09-22 00:00:00 Z
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: github_api
|
16
|
-
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
24
|
none: false
|
18
|
-
requirements:
|
25
|
+
requirements:
|
19
26
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
hash: 5
|
29
|
+
segments:
|
30
|
+
- 0
|
31
|
+
- 7
|
32
|
+
version: "0.7"
|
22
33
|
type: :runtime
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
34
|
+
version_requirements: *id001
|
35
|
+
- !ruby/object:Gem::Dependency
|
26
36
|
name: rspec
|
27
|
-
|
37
|
+
prerelease: false
|
38
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
39
|
none: false
|
29
|
-
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
hash: 3
|
44
|
+
segments:
|
45
|
+
- 0
|
46
|
+
version: "0"
|
33
47
|
type: :development
|
34
|
-
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
48
|
+
version_requirements: *id002
|
49
|
+
- !ruby/object:Gem::Dependency
|
37
50
|
name: aruba
|
38
|
-
|
51
|
+
prerelease: false
|
52
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
53
|
none: false
|
40
|
-
requirements:
|
41
|
-
- -
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
hash: 3
|
58
|
+
segments:
|
59
|
+
- 0
|
60
|
+
version: "0"
|
44
61
|
type: :development
|
45
|
-
|
46
|
-
|
47
|
-
- !ruby/object:Gem::Dependency
|
62
|
+
version_requirements: *id003
|
63
|
+
- !ruby/object:Gem::Dependency
|
48
64
|
name: rake
|
49
|
-
|
65
|
+
prerelease: false
|
66
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
67
|
none: false
|
51
|
-
requirements:
|
52
|
-
- -
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
hash: 3
|
72
|
+
segments:
|
73
|
+
- 0
|
74
|
+
version: "0"
|
55
75
|
type: :development
|
56
|
-
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Dependency
|
76
|
+
version_requirements: *id004
|
77
|
+
- !ruby/object:Gem::Dependency
|
59
78
|
name: communist
|
60
|
-
|
79
|
+
prerelease: false
|
80
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
|
-
requirements:
|
63
|
-
- -
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
|
82
|
+
requirements:
|
83
|
+
- - ">="
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
hash: 3
|
86
|
+
segments:
|
87
|
+
- 0
|
88
|
+
version: "0"
|
66
89
|
type: :development
|
67
|
-
|
68
|
-
|
69
|
-
- !ruby/object:Gem::Dependency
|
90
|
+
version_requirements: *id005
|
91
|
+
- !ruby/object:Gem::Dependency
|
70
92
|
name: ronn
|
71
|
-
|
93
|
+
prerelease: false
|
94
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
72
95
|
none: false
|
73
|
-
requirements:
|
74
|
-
- -
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
|
96
|
+
requirements:
|
97
|
+
- - ">="
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
hash: 3
|
100
|
+
segments:
|
101
|
+
- 0
|
102
|
+
version: "0"
|
77
103
|
type: :development
|
78
|
-
|
79
|
-
version_requirements: *2153154540
|
104
|
+
version_requirements: *id006
|
80
105
|
description: CLI-based access to GitHub API v3
|
81
|
-
email:
|
82
|
-
-
|
83
|
-
executables:
|
106
|
+
email:
|
107
|
+
- ""
|
108
|
+
executables:
|
84
109
|
- gcli
|
85
110
|
extensions: []
|
111
|
+
|
86
112
|
extra_rdoc_files: []
|
87
|
-
|
113
|
+
|
114
|
+
files:
|
88
115
|
- .gitignore
|
89
116
|
- .rspec
|
90
117
|
- .rvmrc
|
@@ -123,6 +150,7 @@ files:
|
|
123
150
|
- features/repository.feature
|
124
151
|
- features/search.feature
|
125
152
|
- features/search_commands.feature
|
153
|
+
- features/starring.feature
|
126
154
|
- features/support/env.rb
|
127
155
|
- features/support/hooks.rb
|
128
156
|
- features/tag.feature
|
@@ -159,6 +187,7 @@ files:
|
|
159
187
|
- lib/github_cli/apis/reference.rb
|
160
188
|
- lib/github_cli/apis/repository.rb
|
161
189
|
- lib/github_cli/apis/search.rb
|
190
|
+
- lib/github_cli/apis/starring.rb
|
162
191
|
- lib/github_cli/apis/tag.rb
|
163
192
|
- lib/github_cli/apis/team.rb
|
164
193
|
- lib/github_cli/apis/tree.rb
|
@@ -192,6 +221,7 @@ files:
|
|
192
221
|
- lib/github_cli/commands/references.rb
|
193
222
|
- lib/github_cli/commands/repositories.rb
|
194
223
|
- lib/github_cli/commands/search.rb
|
224
|
+
- lib/github_cli/commands/starring.rb
|
195
225
|
- lib/github_cli/commands/tags.rb
|
196
226
|
- lib/github_cli/commands/teams.rb
|
197
227
|
- lib/github_cli/commands/trees.rb
|
@@ -266,30 +296,38 @@ files:
|
|
266
296
|
- lib/github_cli/man/gcli.1.txt
|
267
297
|
homepage: http://github.com/peter-murach/github_cli
|
268
298
|
licenses: []
|
299
|
+
|
269
300
|
post_install_message:
|
270
301
|
rdoc_options: []
|
271
|
-
|
302
|
+
|
303
|
+
require_paths:
|
272
304
|
- lib
|
273
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
305
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
274
306
|
none: false
|
275
|
-
requirements:
|
276
|
-
- -
|
277
|
-
- !ruby/object:Gem::Version
|
278
|
-
|
279
|
-
|
307
|
+
requirements:
|
308
|
+
- - ">="
|
309
|
+
- !ruby/object:Gem::Version
|
310
|
+
hash: 3
|
311
|
+
segments:
|
312
|
+
- 0
|
313
|
+
version: "0"
|
314
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
280
315
|
none: false
|
281
|
-
requirements:
|
282
|
-
- -
|
283
|
-
- !ruby/object:Gem::Version
|
284
|
-
|
316
|
+
requirements:
|
317
|
+
- - ">="
|
318
|
+
- !ruby/object:Gem::Version
|
319
|
+
hash: 3
|
320
|
+
segments:
|
321
|
+
- 0
|
322
|
+
version: "0"
|
285
323
|
requirements: []
|
324
|
+
|
286
325
|
rubyforge_project:
|
287
326
|
rubygems_version: 1.8.10
|
288
327
|
signing_key:
|
289
328
|
specification_version: 3
|
290
|
-
summary: github_cli is a set of tools that provide full command line access to GitHub
|
291
|
-
|
292
|
-
test_files:
|
329
|
+
summary: github_cli is a set of tools that provide full command line access to GitHub API v3
|
330
|
+
test_files:
|
293
331
|
- features/blob.feature
|
294
332
|
- features/collaborator.feature
|
295
333
|
- features/commit.feature
|
@@ -317,6 +355,7 @@ test_files:
|
|
317
355
|
- features/repository.feature
|
318
356
|
- features/search.feature
|
319
357
|
- features/search_commands.feature
|
358
|
+
- features/starring.feature
|
320
359
|
- features/support/env.rb
|
321
360
|
- features/support/hooks.rb
|
322
361
|
- features/tag.feature
|