github_cli 0.4.4 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.travis.yml +0 -2
- data/CHANGELOG.md +14 -0
- data/Gemfile.lock +9 -3
- data/README.md +68 -48
- data/Rakefile +47 -1
- data/bin/gcli +18 -0
- data/bin/ghc +1 -17
- data/features/blob.feature +6 -6
- data/features/collaborator.feature +10 -10
- data/features/commit.feature +6 -6
- data/features/completion.feature +3 -3
- data/features/config.feature +55 -0
- data/features/content.feature +9 -9
- data/features/download.feature +11 -11
- data/features/email.feature +8 -8
- data/features/errors.feature +11 -9
- data/features/event.feature +20 -20
- data/features/executable.feature +4 -4
- data/features/follower.feature +13 -13
- data/features/fork.feature +6 -6
- data/features/gist.feature +22 -22
- data/features/hook.feature +14 -14
- data/features/init.feature +48 -0
- data/features/issue.feature +12 -12
- data/features/key.feature +12 -12
- data/features/label.feature +23 -23
- data/features/member.feature +13 -13
- data/features/milestone.feature +12 -12
- data/features/organization.feature +9 -9
- data/features/pull_request.feature +18 -18
- data/features/reference.feature +13 -13
- data/features/repository.feature +20 -20
- data/features/search.feature +10 -10
- data/features/search_commands.feature +4 -4
- data/features/support/hooks.rb +3 -1
- data/features/tag.feature +6 -6
- data/features/team.feature +28 -28
- data/features/tree.feature +5 -5
- data/features/usage.feature +3 -3
- data/features/user.feature +7 -7
- data/features/watching.feature +13 -13
- data/fixtures/simple_config +9 -8
- data/github_cli.gemspec +2 -2
- data/lib/github_cli/api.rb +3 -3
- data/lib/github_cli/cli.rb +96 -17
- data/lib/github_cli/config.rb +30 -9
- data/lib/github_cli/editor.rb +11 -6
- data/lib/github_cli/man/gcli-config.1 +102 -0
- data/lib/github_cli/man/gcli-config.1.txt +96 -0
- data/lib/github_cli/man/gcli-repo.1 +16 -0
- data/lib/github_cli/man/gcli-repo.1.txt +15 -0
- data/lib/github_cli/man/gcli.1 +34 -0
- data/lib/github_cli/man/gcli.1.txt +33 -0
- data/lib/github_cli/manpage.rb +42 -0
- data/lib/github_cli/pager.rb +1 -1
- data/lib/github_cli/terminal.rb +8 -2
- data/lib/github_cli/thor_ext.rb +12 -1
- data/lib/github_cli/vendor.rb +10 -0
- data/lib/github_cli/version.rb +1 -1
- data/lib/github_cli.rb +7 -2
- data/man/gcli-config.1.ronn +82 -0
- data/man/gcli-repo.1.ronn +7 -0
- data/man/gcli.1.ronn +29 -0
- data/spec/github_cli/config_spec.rb +21 -7
- metadata +43 -22
- data/features/settings.feature +0 -35
data/man/gcli.1.ronn
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
gcli(1) -- Command Line Access to GitHub API v3
|
2
|
+
===============================================
|
3
|
+
|
4
|
+
## SYNOPSIS
|
5
|
+
|
6
|
+
`gcli` COMMAND SUBCOMMAND [<args>]
|
7
|
+
|
8
|
+
## DESCRIPTION
|
9
|
+
|
10
|
+
The `gcli` utility integrates command line with GitHub API v3.
|
11
|
+
|
12
|
+
## OPTIONS
|
13
|
+
|
14
|
+
* `--token`:
|
15
|
+
Authentication token.
|
16
|
+
|
17
|
+
* `--no-color`:
|
18
|
+
Prints output without color.
|
19
|
+
|
20
|
+
* `--pager`:
|
21
|
+
Sets command to be used for paging results. This option can be also set in the
|
22
|
+
configuration file.
|
23
|
+
|
24
|
+
* `--verbose`:
|
25
|
+
Include
|
26
|
+
|
27
|
+
## AUTHOR
|
28
|
+
|
29
|
+
Piotr Murach
|
@@ -20,11 +20,11 @@ describe GithubCLI::Config do
|
|
20
20
|
|
21
21
|
context 'array access' do
|
22
22
|
it 'returns value for the key' do
|
23
|
-
config['
|
23
|
+
config['auth.basic'].should == 'login:password'
|
24
24
|
end
|
25
25
|
|
26
26
|
it 'searches in commands' do
|
27
|
-
config['issue
|
27
|
+
config['issue.list'].should == { 'title' => 'ticket' }
|
28
28
|
end
|
29
29
|
|
30
30
|
it 'returns nil for missing key' do
|
@@ -34,7 +34,7 @@ describe GithubCLI::Config do
|
|
34
34
|
|
35
35
|
context '#fetch' do
|
36
36
|
it 'finds value' do
|
37
|
-
config.fetch('
|
37
|
+
config.fetch('auth.token').should == 'ad7f9asdf97as98df7as9fd7'
|
38
38
|
end
|
39
39
|
|
40
40
|
it 'uses default value' do
|
@@ -48,12 +48,27 @@ describe GithubCLI::Config do
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
+
context '#pretty' do
|
52
|
+
it 'collects options into array' do
|
53
|
+
options= {'auth.token' => 'abc123' }
|
54
|
+
config.stub(:all).and_return options
|
55
|
+
config.pretty.should == [['auth.token','abc123']]
|
56
|
+
end
|
57
|
+
|
58
|
+
it 'marks nil option value as undefined' do
|
59
|
+
options= {'option' => nil}
|
60
|
+
config.stub(:all).and_return options
|
61
|
+
config.pretty.should == [['option', 'UNDEFINED']]
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
51
65
|
context '#save' do
|
52
66
|
let(:attrs) { {} }
|
53
67
|
let(:cmd) { stub(:cmd, :namespace => 'repo', :name => 'create') }
|
54
68
|
|
55
69
|
before do
|
56
70
|
GithubCLI::Command.stub(:all) { [cmd] }
|
71
|
+
File.stub(:open)
|
57
72
|
end
|
58
73
|
|
59
74
|
it 'saves config to yaml format' do
|
@@ -64,20 +79,19 @@ describe GithubCLI::Config do
|
|
64
79
|
|
65
80
|
it 'retrieves api commands' do
|
66
81
|
config.save attrs
|
67
|
-
attrs.should have_key
|
68
|
-
attrs[described_class::COMMAND_KEY].should have_key 'repo-create'
|
82
|
+
attrs.should have_key 'commands.repo.create'
|
69
83
|
end
|
70
84
|
|
71
85
|
it 'skips commands with no namespace' do
|
72
86
|
cmd.stub(:namespace) { '' }
|
73
87
|
config.save attrs
|
74
|
-
attrs
|
88
|
+
attrs.keys.should be_empty
|
75
89
|
end
|
76
90
|
|
77
91
|
it 'skips help commands' do
|
78
92
|
cmd.stub(:name) { 'help' }
|
79
93
|
config.save attrs
|
80
|
-
attrs
|
94
|
+
attrs.keys.should be_empty
|
81
95
|
end
|
82
96
|
end
|
83
97
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: github_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-08-17 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: github_api
|
16
|
-
requirement: &
|
16
|
+
requirement: &2161175120 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,21 +21,21 @@ dependencies:
|
|
21
21
|
version: '0.6'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2161175120
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
|
-
name:
|
27
|
-
requirement: &
|
26
|
+
name: rspec
|
27
|
+
requirement: &2161174420 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '0'
|
33
|
-
type: :
|
33
|
+
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2161174420
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement: &
|
37
|
+
name: aruba
|
38
|
+
requirement: &2161173120 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2161173120
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement: &
|
48
|
+
name: rake
|
49
|
+
requirement: &2161171840 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2161171840
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
|
-
name:
|
60
|
-
requirement: &
|
59
|
+
name: communist
|
60
|
+
requirement: &2161171080 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *2161171080
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
71
|
-
requirement: &
|
70
|
+
name: ronn
|
71
|
+
requirement: &2161170300 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,11 +76,12 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *2161170300
|
80
80
|
description: CLI-based access to GitHub API v3
|
81
81
|
email:
|
82
82
|
- ''
|
83
83
|
executables:
|
84
|
+
- gcli
|
84
85
|
- ghc
|
85
86
|
extensions: []
|
86
87
|
extra_rdoc_files: []
|
@@ -95,11 +96,13 @@ files:
|
|
95
96
|
- LICENSE
|
96
97
|
- README.md
|
97
98
|
- Rakefile
|
99
|
+
- bin/gcli
|
98
100
|
- bin/ghc
|
99
101
|
- features/blob.feature
|
100
102
|
- features/collaborator.feature
|
101
103
|
- features/commit.feature
|
102
104
|
- features/completion.feature
|
105
|
+
- features/config.feature
|
103
106
|
- features/content.feature
|
104
107
|
- features/download.feature
|
105
108
|
- features/email.feature
|
@@ -110,6 +113,7 @@ files:
|
|
110
113
|
- features/fork.feature
|
111
114
|
- features/gist.feature
|
112
115
|
- features/hook.feature
|
116
|
+
- features/init.feature
|
113
117
|
- features/issue.feature
|
114
118
|
- features/key.feature
|
115
119
|
- features/label.feature
|
@@ -121,7 +125,6 @@ files:
|
|
121
125
|
- features/repository.feature
|
122
126
|
- features/search.feature
|
123
127
|
- features/search_commands.feature
|
124
|
-
- features/settings.feature
|
125
128
|
- features/support/env.rb
|
126
129
|
- features/support/hooks.rb
|
127
130
|
- features/tag.feature
|
@@ -205,6 +208,7 @@ files:
|
|
205
208
|
- lib/github_cli/formatters/csv.rb
|
206
209
|
- lib/github_cli/formatters/table.rb
|
207
210
|
- lib/github_cli/helpers.rb
|
211
|
+
- lib/github_cli/manpage.rb
|
208
212
|
- lib/github_cli/pager.rb
|
209
213
|
- lib/github_cli/subcommands.rb
|
210
214
|
- lib/github_cli/system.rb
|
@@ -212,7 +216,11 @@ files:
|
|
212
216
|
- lib/github_cli/thor_ext.rb
|
213
217
|
- lib/github_cli/ui.rb
|
214
218
|
- lib/github_cli/util.rb
|
219
|
+
- lib/github_cli/vendor.rb
|
215
220
|
- lib/github_cli/version.rb
|
221
|
+
- man/gcli-config.1.ronn
|
222
|
+
- man/gcli-repo.1.ronn
|
223
|
+
- man/gcli.1.ronn
|
216
224
|
- spec/github_cli/api_spec.rb
|
217
225
|
- spec/github_cli/cli_spec.rb
|
218
226
|
- spec/github_cli/command_spec.rb
|
@@ -221,6 +229,12 @@ files:
|
|
221
229
|
- spec/github_cli/pager_spec.rb
|
222
230
|
- spec/github_cli/util_spec.rb
|
223
231
|
- spec/spec_helper.rb
|
232
|
+
- lib/github_cli/man/gcli-config.1
|
233
|
+
- lib/github_cli/man/gcli-config.1.txt
|
234
|
+
- lib/github_cli/man/gcli-repo.1
|
235
|
+
- lib/github_cli/man/gcli-repo.1.txt
|
236
|
+
- lib/github_cli/man/gcli.1
|
237
|
+
- lib/github_cli/man/gcli.1.txt
|
224
238
|
homepage: http://github.com/peter-murach/github_cli
|
225
239
|
licenses: []
|
226
240
|
post_install_message:
|
@@ -233,12 +247,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
233
247
|
- - ! '>='
|
234
248
|
- !ruby/object:Gem::Version
|
235
249
|
version: '0'
|
250
|
+
segments:
|
251
|
+
- 0
|
252
|
+
hash: 183483969768155757
|
236
253
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
237
254
|
none: false
|
238
255
|
requirements:
|
239
256
|
- - ! '>='
|
240
257
|
- !ruby/object:Gem::Version
|
241
258
|
version: '0'
|
259
|
+
segments:
|
260
|
+
- 0
|
261
|
+
hash: 183483969768155757
|
242
262
|
requirements: []
|
243
263
|
rubyforge_project:
|
244
264
|
rubygems_version: 1.8.10
|
@@ -251,6 +271,7 @@ test_files:
|
|
251
271
|
- features/collaborator.feature
|
252
272
|
- features/commit.feature
|
253
273
|
- features/completion.feature
|
274
|
+
- features/config.feature
|
254
275
|
- features/content.feature
|
255
276
|
- features/download.feature
|
256
277
|
- features/email.feature
|
@@ -261,6 +282,7 @@ test_files:
|
|
261
282
|
- features/fork.feature
|
262
283
|
- features/gist.feature
|
263
284
|
- features/hook.feature
|
285
|
+
- features/init.feature
|
264
286
|
- features/issue.feature
|
265
287
|
- features/key.feature
|
266
288
|
- features/label.feature
|
@@ -272,7 +294,6 @@ test_files:
|
|
272
294
|
- features/repository.feature
|
273
295
|
- features/search.feature
|
274
296
|
- features/search_commands.feature
|
275
|
-
- features/settings.feature
|
276
297
|
- features/support/env.rb
|
277
298
|
- features/support/hooks.rb
|
278
299
|
- features/tag.feature
|
data/features/settings.feature
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
@settings
|
2
|
-
Feature: Global Settings
|
3
|
-
|
4
|
-
As a developer who wants to set global settings for interaction with GitHub API
|
5
|
-
When I use interface provided by GHC
|
6
|
-
I have ability to create configuration file
|
7
|
-
|
8
|
-
Scenario: Installs Default Configuration File
|
9
|
-
When I run `ghc init` interactively
|
10
|
-
And I type "token"
|
11
|
-
Then the output should contain:
|
12
|
-
"""
|
13
|
-
Writing new configuration file to /tmp/fakehome/.githubrc
|
14
|
-
"""
|
15
|
-
And a file named "/tmp/fakehome/.githubrc" should exist
|
16
|
-
And the file "/tmp/fakehome/.githubrc" should contain "oauth_token: token"
|
17
|
-
|
18
|
-
Scenario: Configuration File Exists
|
19
|
-
Given an empty file named "/tmp/fakehome/.githubrc"
|
20
|
-
When I run `ghc init`
|
21
|
-
Then the output should contain:
|
22
|
-
"""
|
23
|
-
Not overwritting existing config file /tmp/fakehome/.githubrc, use --force to override.
|
24
|
-
"""
|
25
|
-
|
26
|
-
Scenario: Force Config File Override
|
27
|
-
Given an empty file named "/tmp/fakehome/.githubrc"
|
28
|
-
When I run `ghc init --force` interactively
|
29
|
-
And I type "token"
|
30
|
-
Then the output should contain:
|
31
|
-
"""
|
32
|
-
Please specify your GitHub Authentication Token (register on github.com to get it):
|
33
|
-
"""
|
34
|
-
|
35
|
-
Scenario: Check for presence of yaml attribute
|