githubrepo 0.2.2 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rspec +2 -0
- data/README.md +22 -7
- data/Rakefile +6 -0
- data/bin/githubrepo +22 -4
- data/githubrepo.gemspec +3 -0
- data/lib/githubrepo.rb +33 -22
- data/lib/githubrepo/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/create_a_existing_repository.yml +64 -0
- data/spec/fixtures/vcr_cassettes/create_a_repository.yml +71 -0
- data/spec/fixtures/vcr_cassettes/create_a_repository_with_bad_password.yml +63 -0
- data/spec/githubrepo_spec.rb +70 -0
- data/spec/spec_helper.rb +1 -0
- data/stdout/response.txt +15 -0
- data/stdout/response_with_bad_credentials.txt +12 -0
- data/stdout/response_with_existing_repository.txt +12 -0
- metadata +59 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ffbb30f5e9ef2973b4451eac004cb94bdb774fa7
|
4
|
+
data.tar.gz: dc180defa75d1104d23314ca217d69d2152d62de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54b90bd42382a91c3439a270dffd651174c71bd133b9103e07171d6b07060dbe55efc8502992b209854c3cdda422f90f235fe04c76ceae5ac4b134c5306b2314
|
7
|
+
data.tar.gz: 87f53af872c82d5842282ec1fb74974dc720aa773b0f00cf0172a6d586bf9f3bfdf889ac115de005e351edc836435d73c095baeb7f3a38bcdc81df5913288653
|
data/.rspec
ADDED
data/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# Githubrepo
|
2
|
-
This gem is a Command Line Interface to do only thing... create GitHub repositories.
|
2
|
+
This gem is a Command Line Interface to do only one thing... create GitHub repositories.
|
3
3
|
|
4
4
|
## Installation
|
5
5
|
|
@@ -10,9 +10,14 @@ Download this gem:
|
|
10
10
|
|
11
11
|
## Usage
|
12
12
|
|
13
|
-
$ githubrepo create
|
14
|
-
$ githubrepo
|
15
|
-
|
13
|
+
$ githubrepo create REPO_NAME
|
14
|
+
$ githubrepo REPO_NAME
|
15
|
+
$ githubrepo REPO_NAME -d "short description"
|
16
|
+
|
17
|
+
# To get back the SSH URL instead of HTTP, add the -s or --ssh flag:
|
18
|
+
$ githubrepo REPOSITORY_NAME -s
|
19
|
+
|
20
|
+
|
16
21
|
|
17
22
|
The default operation on githubrepo is to create, so you can skip the create action.
|
18
23
|
For more details use help flag:
|
@@ -21,11 +26,21 @@ For more details use help flag:
|
|
21
26
|
|
22
27
|
|
23
28
|
## Development
|
29
|
+
To see available rake tasks for development
|
30
|
+
|
31
|
+
$ rake -T
|
32
|
+
|
24
33
|
To run the app in IRB for debugging run
|
25
34
|
|
26
35
|
$ rake console
|
27
|
-
$ Githubrepo.create(
|
28
|
-
|
36
|
+
$ Githubrepo.create ({ :repository => 'test_repo',
|
37
|
+
:description => 'description',
|
38
|
+
:wants_ssh => false,
|
39
|
+
:username => 'username',
|
40
|
+
:password => 'password',
|
41
|
+
:rspec => true # returns response hash instead of nil
|
42
|
+
})
|
43
|
+
|
29
44
|
|
30
45
|
## Contributing
|
31
46
|
|
@@ -33,4 +48,4 @@ To run the app in IRB for debugging run
|
|
33
48
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
34
49
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
35
50
|
4. Push to the branch (`git push origin my-new-feature`)
|
36
|
-
5. Create new Pull Request
|
51
|
+
5. Create new Pull Request to Dev
|
data/Rakefile
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
|
+
require 'rspec/core/rake_task'
|
2
3
|
|
4
|
+
RSpec::Core::RakeTask.new(:spec) do |task|
|
5
|
+
task.rspec_opts = ['--color', '--format', 'documentation']
|
6
|
+
end
|
7
|
+
|
8
|
+
desc 'Run in IRB for debugging'
|
3
9
|
task :console do
|
4
10
|
require 'irb'
|
5
11
|
require 'irb/completion'
|
data/bin/githubrepo
CHANGED
@@ -2,9 +2,10 @@
|
|
2
2
|
|
3
3
|
require File.expand_path '../lib/githubrepo', File.dirname(__FILE__)
|
4
4
|
require 'commander/import'
|
5
|
+
require 'githubrepo/version'
|
5
6
|
|
6
7
|
program :name, 'githubrepo'
|
7
|
-
program :version, '0.
|
8
|
+
program :version, '0.3.0'
|
8
9
|
program :description, 'Create GitHub repositories from the command line.
|
9
10
|
|
10
11
|
OSX: repository URL is automatically copied to clipboard.
|
@@ -16,17 +17,20 @@ program :help, 'Author', 'Elikem Adadevoh <elikem@gmail.com>'
|
|
16
17
|
command :create do |c|
|
17
18
|
c.syntax = 'githubrepo create [options]'
|
18
19
|
|
19
|
-
c.description = 'githubrepo create REPO_NAME -d REPO_DESCRIPTION'
|
20
|
+
c.description = 'githubrepo create REPO_NAME -d REPO_DESCRIPTION --ssh [optional, will give you the SSH link instead of HTTP]'
|
20
21
|
|
21
22
|
c.example 'usage', 'githubrepo create REPO_NAME'
|
22
|
-
c.example '
|
23
|
+
c.example 'shorthand', 'githubrepo REPO_NAME'
|
23
24
|
c.example 'description', 'githubrepo create REPO_NAME -d "short description"'
|
25
|
+
c.example 'SSH URL', 'githubrepo REPO_NAME -s'
|
24
26
|
|
25
27
|
c.option '--description STRING', String, 'A short description of the repository'
|
28
|
+
c.option '--ssh', 'Gives the link back as SSH instead of HTTP'
|
26
29
|
|
27
30
|
c.action do |args, options|
|
28
31
|
repository = args.shift
|
29
32
|
description = options.description
|
33
|
+
wants_ssh = options.ssh
|
30
34
|
|
31
35
|
# check for repository argument
|
32
36
|
if repository.nil?
|
@@ -46,10 +50,24 @@ command :create do |c|
|
|
46
50
|
password = ask('Password: ') { |char| char.echo = false }
|
47
51
|
|
48
52
|
# package attributes for http api payload
|
49
|
-
cli({ :repository => repository, :description => description, :username => username, :password => password })
|
53
|
+
cli({ :repository => repository, :description => description, :wants_ssh => wants_ssh, :username => username, :password => password })
|
50
54
|
end
|
51
55
|
end
|
52
56
|
|
57
|
+
command :version do |v|
|
58
|
+
v.syntax = 'githubrepo version [options]'
|
59
|
+
v.description = 'githubrepo version'
|
60
|
+
|
61
|
+
v.example 'usage', 'githubrepo version'
|
62
|
+
|
63
|
+
v.action do |args, options|
|
64
|
+
version = args.shift
|
65
|
+
end
|
66
|
+
|
67
|
+
# outputs version number
|
68
|
+
puts "Githubrepo #{Githubrepo::VERSION}"
|
69
|
+
end
|
70
|
+
|
53
71
|
# set default action for gem
|
54
72
|
default_command :create
|
55
73
|
|
data/githubrepo.gemspec
CHANGED
@@ -21,6 +21,9 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.required_ruby_version = '>= 2.0'
|
22
22
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
23
23
|
spec.add_development_dependency 'rake'
|
24
|
+
spec.add_development_dependency 'rspec'
|
25
|
+
spec.add_development_dependency 'vcr'
|
26
|
+
spec.add_development_dependency 'webmock'
|
24
27
|
|
25
28
|
spec.add_runtime_dependency 'commander', '~> 4.1.6'
|
26
29
|
spec.add_runtime_dependency 'httparty', '~> 0.13.0'
|
data/lib/githubrepo.rb
CHANGED
@@ -34,17 +34,23 @@ module Githubrepo
|
|
34
34
|
}.to_json
|
35
35
|
)
|
36
36
|
|
37
|
-
Githubrepo.parse_response_from(post)
|
37
|
+
Githubrepo.parse_response_from( post.merge(attributes) )
|
38
|
+
|
39
|
+
# for testing purposes only -- rspec
|
40
|
+
if attributes[:rspec]
|
41
|
+
return post
|
42
|
+
end
|
38
43
|
end
|
39
44
|
|
40
45
|
# DRY this by moving to a Parse.response_from(post)
|
41
46
|
def self.parse_response_from(post)
|
42
47
|
attributes = post
|
43
48
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
49
|
+
if attributes[:wants_ssh]
|
50
|
+
repo_url = attributes['ssh_url']
|
51
|
+
else
|
52
|
+
repo_url = attributes['clone_url']
|
53
|
+
end
|
48
54
|
|
49
55
|
message =
|
50
56
|
if attributes['message'] != nil
|
@@ -57,28 +63,33 @@ module Githubrepo
|
|
57
63
|
end
|
58
64
|
|
59
65
|
# messages to console
|
60
|
-
if
|
66
|
+
if repo_url
|
61
67
|
if OS.mac?
|
62
|
-
puts "#{
|
63
|
-
Clipboard.copy
|
68
|
+
puts "#{repo_url} --- COPIED TO CLIPBOARD"
|
69
|
+
Clipboard.copy repo_url
|
64
70
|
elsif OS.linux?
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
71
|
+
print repo_url
|
72
|
+
unless `which xclip`.empty?
|
73
|
+
print " --- COPIED TO CLIPBOARD\n"
|
74
|
+
Clipboard.copy repo_url
|
75
|
+
else
|
76
|
+
puts "\nInstall xclip if you want to auto-copy repository URL to your clipboard."
|
77
|
+
puts "debian/ubuntu: apt-get install xclip"
|
78
|
+
end
|
79
|
+
elsif OS.windows?
|
80
|
+
print repo_url
|
81
|
+
if Gem::Specification::find_all_by_name('ffi').any?
|
82
|
+
print " --- COPIED TO CLIPBOARD\n"
|
83
|
+
Clipboard.copy repo_url
|
84
|
+
else
|
85
|
+
puts "\nInstall ruby gem 'ffi' to auto-copy repository to your clipboard."
|
86
|
+
puts "gem install ffi"
|
87
|
+
end
|
78
88
|
else
|
79
|
-
puts
|
89
|
+
puts repo_url
|
80
90
|
end
|
81
91
|
end
|
92
|
+
|
82
93
|
puts message.capitalize if message
|
83
94
|
puts error_message.capitalize if error_message
|
84
95
|
end
|
data/lib/githubrepo/version.rb
CHANGED
@@ -0,0 +1,64 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://elikem:password@api.github.com/user/repos
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"name":"test_repo","description":"description"}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Githubrepo
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Accept:
|
15
|
+
- application/json
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 422
|
19
|
+
message: Unprocessable Entity
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- GitHub.com
|
23
|
+
Date:
|
24
|
+
- Sun, 14 Sep 2014 16:09:37 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Status:
|
28
|
+
- 422 Unprocessable Entity
|
29
|
+
X-Ratelimit-Limit:
|
30
|
+
- '5000'
|
31
|
+
X-Ratelimit-Remaining:
|
32
|
+
- '4997'
|
33
|
+
X-Ratelimit-Reset:
|
34
|
+
- '1410714252'
|
35
|
+
X-Github-Media-Type:
|
36
|
+
- github.v3
|
37
|
+
X-Xss-Protection:
|
38
|
+
- 1; mode=block
|
39
|
+
X-Frame-Options:
|
40
|
+
- deny
|
41
|
+
Content-Security-Policy:
|
42
|
+
- default-src 'none'
|
43
|
+
Content-Length:
|
44
|
+
- '215'
|
45
|
+
Access-Control-Allow-Credentials:
|
46
|
+
- 'true'
|
47
|
+
Access-Control-Expose-Headers:
|
48
|
+
- ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
|
49
|
+
X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
|
50
|
+
Access-Control-Allow-Origin:
|
51
|
+
- "*"
|
52
|
+
X-Github-Request-Id:
|
53
|
+
- 6372ADE0:3B40:D856EA:5415BDC1
|
54
|
+
Strict-Transport-Security:
|
55
|
+
- max-age=31536000; includeSubdomains; preload
|
56
|
+
X-Content-Type-Options:
|
57
|
+
- nosniff
|
58
|
+
body:
|
59
|
+
encoding: UTF-8
|
60
|
+
string: '{"message":"Validation Failed","documentation_url":"https://developer.github.com/v3/repos/#create","errors":[{"resource":"Repository","code":"custom","field":"name","message":"name
|
61
|
+
already exists on this account"}]}'
|
62
|
+
http_version:
|
63
|
+
recorded_at: Sun, 14 Sep 2014 16:09:37 GMT
|
64
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,71 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://elikem:password@api.github.com/user/repos
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"name":"test_repo","description":"description"}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Githubrepo
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Accept:
|
15
|
+
- application/json
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 201
|
19
|
+
message: Created
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- GitHub.com
|
23
|
+
Date:
|
24
|
+
- Sun, 14 Sep 2014 16:09:37 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Status:
|
28
|
+
- 201 Created
|
29
|
+
X-Ratelimit-Limit:
|
30
|
+
- '5000'
|
31
|
+
X-Ratelimit-Remaining:
|
32
|
+
- '4998'
|
33
|
+
X-Ratelimit-Reset:
|
34
|
+
- '1410714252'
|
35
|
+
Cache-Control:
|
36
|
+
- private, max-age=60, s-maxage=60
|
37
|
+
Etag:
|
38
|
+
- '"a9b887e12047de482060afad9324ba22"'
|
39
|
+
Location:
|
40
|
+
- https://api.github.com/repos/elikem/test_repo
|
41
|
+
Vary:
|
42
|
+
- Accept, Authorization, Cookie, X-GitHub-OTP
|
43
|
+
X-Github-Media-Type:
|
44
|
+
- github.v3
|
45
|
+
X-Xss-Protection:
|
46
|
+
- 1; mode=block
|
47
|
+
X-Frame-Options:
|
48
|
+
- deny
|
49
|
+
Content-Security-Policy:
|
50
|
+
- default-src 'none'
|
51
|
+
Content-Length:
|
52
|
+
- '4521'
|
53
|
+
Access-Control-Allow-Credentials:
|
54
|
+
- 'true'
|
55
|
+
Access-Control-Expose-Headers:
|
56
|
+
- ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
|
57
|
+
X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
|
58
|
+
Access-Control-Allow-Origin:
|
59
|
+
- "*"
|
60
|
+
X-Github-Request-Id:
|
61
|
+
- 6372ADE0:3B44:575E865:5415BDC0
|
62
|
+
Strict-Transport-Security:
|
63
|
+
- max-age=31536000; includeSubdomains; preload
|
64
|
+
X-Content-Type-Options:
|
65
|
+
- nosniff
|
66
|
+
body:
|
67
|
+
encoding: UTF-8
|
68
|
+
string: '{"id":24026493,"name":"test_repo","full_name":"elikem/test_repo","owner":{"login":"elikem","id":1282871,"avatar_url":"https://avatars.githubusercontent.com/u/1282871?v=2","gravatar_id":"90eb0e692f7f2767b506510b648bd52c","url":"https://api.github.com/users/elikem","html_url":"https://github.com/elikem","followers_url":"https://api.github.com/users/elikem/followers","following_url":"https://api.github.com/users/elikem/following{/other_user}","gists_url":"https://api.github.com/users/elikem/gists{/gist_id}","starred_url":"https://api.github.com/users/elikem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/elikem/subscriptions","organizations_url":"https://api.github.com/users/elikem/orgs","repos_url":"https://api.github.com/users/elikem/repos","events_url":"https://api.github.com/users/elikem/events{/privacy}","received_events_url":"https://api.github.com/users/elikem/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/elikem/test_repo","description":"description","fork":false,"url":"https://api.github.com/repos/elikem/test_repo","forks_url":"https://api.github.com/repos/elikem/test_repo/forks","keys_url":"https://api.github.com/repos/elikem/test_repo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/elikem/test_repo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/elikem/test_repo/teams","hooks_url":"https://api.github.com/repos/elikem/test_repo/hooks","issue_events_url":"https://api.github.com/repos/elikem/test_repo/issues/events{/number}","events_url":"https://api.github.com/repos/elikem/test_repo/events","assignees_url":"https://api.github.com/repos/elikem/test_repo/assignees{/user}","branches_url":"https://api.github.com/repos/elikem/test_repo/branches{/branch}","tags_url":"https://api.github.com/repos/elikem/test_repo/tags","blobs_url":"https://api.github.com/repos/elikem/test_repo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/elikem/test_repo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/elikem/test_repo/git/refs{/sha}","trees_url":"https://api.github.com/repos/elikem/test_repo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/elikem/test_repo/statuses/{sha}","languages_url":"https://api.github.com/repos/elikem/test_repo/languages","stargazers_url":"https://api.github.com/repos/elikem/test_repo/stargazers","contributors_url":"https://api.github.com/repos/elikem/test_repo/contributors","subscribers_url":"https://api.github.com/repos/elikem/test_repo/subscribers","subscription_url":"https://api.github.com/repos/elikem/test_repo/subscription","commits_url":"https://api.github.com/repos/elikem/test_repo/commits{/sha}","git_commits_url":"https://api.github.com/repos/elikem/test_repo/git/commits{/sha}","comments_url":"https://api.github.com/repos/elikem/test_repo/comments{/number}","issue_comment_url":"https://api.github.com/repos/elikem/test_repo/issues/comments/{number}","contents_url":"https://api.github.com/repos/elikem/test_repo/contents/{+path}","compare_url":"https://api.github.com/repos/elikem/test_repo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/elikem/test_repo/merges","archive_url":"https://api.github.com/repos/elikem/test_repo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/elikem/test_repo/downloads","issues_url":"https://api.github.com/repos/elikem/test_repo/issues{/number}","pulls_url":"https://api.github.com/repos/elikem/test_repo/pulls{/number}","milestones_url":"https://api.github.com/repos/elikem/test_repo/milestones{/number}","notifications_url":"https://api.github.com/repos/elikem/test_repo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/elikem/test_repo/labels{/name}","releases_url":"https://api.github.com/repos/elikem/test_repo/releases{/id}","created_at":"2014-09-14T16:09:37Z","updated_at":"2014-09-14T16:09:37Z","pushed_at":"2014-09-14T16:09:37Z","git_url":"git://github.com/elikem/test_repo.git","ssh_url":"git@github.com:elikem/test_repo.git","clone_url":"https://github.com/elikem/test_repo.git","svn_url":"https://github.com/elikem/test_repo","homepage":null,"size":0,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master","permissions":{"admin":true,"push":true,"pull":true},"network_count":0,"subscribers_count":1}'
|
69
|
+
http_version:
|
70
|
+
recorded_at: Sun, 14 Sep 2014 16:09:37 GMT
|
71
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,63 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: post
|
5
|
+
uri: https://fake_username:wrong_password@api.github.com/user/repos
|
6
|
+
body:
|
7
|
+
encoding: UTF-8
|
8
|
+
string: '{"name":"test_repo","description":"description"}'
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Githubrepo
|
12
|
+
Content-Type:
|
13
|
+
- application/json
|
14
|
+
Accept:
|
15
|
+
- application/json
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 401
|
19
|
+
message: Unauthorized
|
20
|
+
headers:
|
21
|
+
Server:
|
22
|
+
- GitHub.com
|
23
|
+
Date:
|
24
|
+
- Sun, 14 Sep 2014 16:09:37 GMT
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Status:
|
28
|
+
- 401 Unauthorized
|
29
|
+
X-Github-Media-Type:
|
30
|
+
- github.v3
|
31
|
+
X-Ratelimit-Limit:
|
32
|
+
- '60'
|
33
|
+
X-Ratelimit-Remaining:
|
34
|
+
- '54'
|
35
|
+
X-Ratelimit-Reset:
|
36
|
+
- '1410712588'
|
37
|
+
X-Xss-Protection:
|
38
|
+
- 1; mode=block
|
39
|
+
X-Frame-Options:
|
40
|
+
- deny
|
41
|
+
Content-Security-Policy:
|
42
|
+
- default-src 'none'
|
43
|
+
Content-Length:
|
44
|
+
- '83'
|
45
|
+
Access-Control-Allow-Credentials:
|
46
|
+
- 'true'
|
47
|
+
Access-Control-Expose-Headers:
|
48
|
+
- ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset,
|
49
|
+
X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval
|
50
|
+
Access-Control-Allow-Origin:
|
51
|
+
- "*"
|
52
|
+
X-Github-Request-Id:
|
53
|
+
- 6372ADE0:3B43:3F528BF:5415BDC1
|
54
|
+
Strict-Transport-Security:
|
55
|
+
- max-age=31536000; includeSubdomains; preload
|
56
|
+
X-Content-Type-Options:
|
57
|
+
- nosniff
|
58
|
+
body:
|
59
|
+
encoding: UTF-8
|
60
|
+
string: '{"message":"Bad credentials","documentation_url":"https://developer.github.com/v3"}'
|
61
|
+
http_version:
|
62
|
+
recorded_at: Sun, 14 Sep 2014 16:09:37 GMT
|
63
|
+
recorded_with: VCR 2.9.2
|
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'vcr'
|
3
|
+
require 'webmock'
|
4
|
+
|
5
|
+
VCR.configure do |c|
|
6
|
+
c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
|
7
|
+
c.hook_into :webmock
|
8
|
+
end
|
9
|
+
|
10
|
+
describe 'Githubrepo' do
|
11
|
+
it 'creates a GitHub repo with ssh' do
|
12
|
+
VCR.use_cassette('create a repository', :record => :once) do
|
13
|
+
attributes = ({ :repository => 'test_repo',
|
14
|
+
:description => 'description',
|
15
|
+
:wants_ssh => true,
|
16
|
+
:username => 'elikem',
|
17
|
+
:password => 'password',
|
18
|
+
:rspec => true
|
19
|
+
})
|
20
|
+
|
21
|
+
response = Githubrepo.create(attributes)
|
22
|
+
expect(response['ssh_url']).to eq('git@github.com:elikem/test_repo.git')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'requests to create a Github repo without wants_ssh' do
|
27
|
+
VCR.use_cassette('create a repository', :record => :once) do
|
28
|
+
attributes = ({ :repository => 'test_repo',
|
29
|
+
:description => 'description',
|
30
|
+
:wants_ssh => false,
|
31
|
+
:username => 'elikem',
|
32
|
+
:password => 'password',
|
33
|
+
:rspec => true
|
34
|
+
})
|
35
|
+
|
36
|
+
response = Githubrepo.create(attributes)
|
37
|
+
expect(response['clone_url']).to eq('https://github.com/elikem/test_repo.git')
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'should fail with the wrong credentials' do
|
42
|
+
VCR.use_cassette('create a repository with bad password', :record => :once) do
|
43
|
+
attributes = ({ :repository => 'test_repo',
|
44
|
+
:description => 'description',
|
45
|
+
:wants_ssh => false,
|
46
|
+
:username => 'fake_username',
|
47
|
+
:password => 'wrong_password',
|
48
|
+
:rspec => true
|
49
|
+
})
|
50
|
+
|
51
|
+
response = Githubrepo.create(attributes)
|
52
|
+
expect(response['message']).to eq('Bad credentials')
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'should return message if repository exists', focus: true do
|
57
|
+
VCR.use_cassette('create a existing repository', :record => :once) do
|
58
|
+
attributes = ({ :repository => 'test_repo',
|
59
|
+
:description => 'description',
|
60
|
+
:wants_ssh => false,
|
61
|
+
:username => 'elikem',
|
62
|
+
:password => 'password',
|
63
|
+
:rspec => true
|
64
|
+
})
|
65
|
+
|
66
|
+
response = Githubrepo.create(attributes)
|
67
|
+
expect(response['errors'].first['message']).to eq('name already exists on this account')
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'githubrepo'
|
data/stdout/response.txt
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
irb(main):001:0> Githubrepo.create( { :repository => 'test_repo', :description => 'description', :wants_ssh => false, :username => 'elikem', :password => 'password' } )
|
2
|
+
|
3
|
+
=> #<HTTParty::Response:0x7fdab4c49780 parsed_response={"id"=>24024659, "name"=>"test_repo", "full_name"=>"elikem/test_repo", "owner"=>{"login"=>"elikem", "id"=>1282871, "avatar_url"=>"https://avatars.githubusercontent.com/u/1282871?v=2", "gravatar_id"=>"90eb0e692f7f2767b506510b648bd52c", "url"=>"https://api.github.com/users/elikem", "html_url"=>"https://github.com/elikem", "followers_url"=>"https://api.github.com/users/elikem/followers", "following_url"=>"https://api.github.com/users/elikem/following{/other_user}", "gists_url"=>"https://api.github.com/users/elikem/gists{/gist_id}", "starred_url"=>"https://api.github.com/users/elikem/starred{/owner}{/repo}", "subscriptions_url"=>"https://api.github.com/users/elikem/subscriptions", "organizations_url"=>"https://api.github.com/users/elikem/orgs", "repos_url"=>"https://api.github.com/users/elikem/repos", "events_url"=>"https://api.github.com/users/elikem/events{/privacy}", "received_events_url"=>"https://api.github.com/users/elikem/received_events", "type"=>"User", "site_admin"=>false}, "private"=>false, "html_url"=>"https://github.com/elikem/test_repo", "description"=>"description", "fork"=>false, "url"=>"https://api.github.com/repos/elikem/test_repo", "forks_url"=>"https://api.github.com/repos/elikem/test_repo/forks", "keys_url"=>"https://api.github.com/repos/elikem/test_repo/keys{/key_id}", "collaborators_url"=>"https://api.github.com/repos/elikem/test_repo/collaborators{/collaborator}", "teams_url"=>"https://api.github.com/repos/elikem/test_repo/teams", "hooks_url"=>"https://api.github.com/repos/elikem/test_repo/hooks", "issue_events_url"=>"https://api.github.com/repos/elikem/test_repo/issues/events{/number}", "events_url"=>"https://api.github.com/repos/elikem/test_repo/events", "assignees_url"=>"https://api.github.com/repos/elikem/test_repo/assignees{/user}", "branches_url"=>"https://api.github.com/repos/elikem/test_repo/branches{/branch}", "tags_url"=>"https://api.github.com/repos/elikem/test_repo/tags", "blobs_url"=>"https://api.github.com/repos/elikem/test_repo/git/blobs{/sha}", "git_tags_url"=>"https://api.github.com/repos/elikem/test_repo/git/tags{/sha}", "git_refs_url"=>"https://api.github.com/repos/elikem/test_repo/git/refs{/sha}", "trees_url"=>"https://api.github.com/repos/elikem/test_repo/git/trees{/sha}", "statuses_url"=>"https://api.github.com/repos/elikem/test_repo/statuses/{sha}", "languages_url"=>"https://api.github.com/repos/elikem/test_repo/languages", "stargazers_url"=>"https://api.github.com/repos/elikem/test_repo/stargazers", "contributors_url"=>"https://api.github.com/repos/elikem/test_repo/contributors", "subscribers_url"=>"https://api.github.com/repos/elikem/test_repo/subscribers", "subscription_url"=>"https://api.github.com/repos/elikem/test_repo/subscription", "commits_url"=>"https://api.github.com/repos/elikem/test_repo/commits{/sha}", "git_commits_url"=>"https://api.github.com/repos/elikem/test_repo/git/commits{/sha}", "comments_url"=>"https://api.github.com/repos/elikem/test_repo/comments{/number}", "issue_comment_url"=>"https://api.github.com/repos/elikem/test_repo/issues/comments/{number}", "contents_url"=>"https://api.github.com/repos/elikem/test_repo/contents/{+path}", "compare_url"=>"https://api.github.com/repos/elikem/test_repo/compare/{base}...{head}", "merges_url"=>"https://api.github.com/repos/elikem/test_repo/merges", "archive_url"=>"https://api.github.com/repos/elikem/test_repo/{archive_format}{/ref}", "downloads_url"=>"https://api.github.com/repos/elikem/test_repo/downloads", "issues_url"=>"https://api.github.com/repos/elikem/test_repo/issues{/number}", "pulls_url"=>"https://api.github.com/repos/elikem/test_repo/pulls{/number}", "milestones_url"=>"https://api.github.com/repos/elikem/test_repo/milestones{/number}", "notifications_url"=>"https://api.github.com/repos/elikem/test_repo/notifications{?since,all,participating}", "labels_url"=>"https://api.github.com/repos/elikem/test_repo/labels{/name}", "releases_url"=>"https://api.github.com/repos/elikem/test_repo/releases{/id}", "created_at"=>"2014-09-14T14:56:29Z", "updated_at"=>"2014-09-14T14:56:29Z", "pushed_at"=>"2014-09-14T14:56:29Z", "git_url"=>"git://github.com/elikem/test_repo.git", "ssh_url"=>"git@github.com:elikem/test_repo.git", "clone_url"=>"https://github.com/elikem/test_repo.git", "svn_url"=>"https://github.com/elikem/test_repo", "homepage"=>nil, "size"=>0, "stargazers_count"=>0, "watchers_count"=>0, "language"=>nil, "has_issues"=>true, "has_downloads"=>true, "has_wiki"=>true, "forks_count"=>0, "mirror_url"=>nil, "open_issues_count"=>0, "forks"=>0, "open_issues"=>0, "watchers"=>0, "default_branch"=>"master", "permissions"=>{"admin"=>true, "push"=>true, "pull"=>true}, "network_count"=>0, "subscribers_count"=>1}, @response=#<Net::HTTPCreated 201 Created readbody=true>, @headers={"server"=>["GitHub.com"], "date"=>["Sun, 14 Sep 2014 14:56:29 GMT"], "content-type"=>["application/json; charset=utf-8"], "connection"=>["close"], "status"=>["201 Created"], "x-ratelimit-limit"=>["5000"], "x-ratelimit-remaining"=>["4995"], "x-ratelimit-reset"=>["1410706876"], "cache-control"=>["private, max-age=60, s-maxage=60"], "etag"=>["\"6e6b4a351fc02fd29abde5d40f270457\""], "location"=>["https://api.github.com/repos/elikem/test_repo"], "vary"=>["Accept, Authorization, Cookie, X-GitHub-OTP"], "x-github-media-type"=>["github.v3"], "x-xss-protection"=>["1; mode=block"], "x-frame-options"=>["deny"], "content-security-policy"=>["default-src 'none'"], "content-length"=>["4521"], "access-control-allow-credentials"=>["true"], "access-control-expose-headers"=>["ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval"], "access-control-allow-origin"=>["*"], "x-github-request-id"=>["6372ADE0:76FA:4B1F6BC:5415AC9D"], "strict-transport-security"=>["max-age=31536000; includeSubdomains; preload"], "x-content-type-options"=>["nosniff"]}>
|
4
|
+
|
5
|
+
stdout
|
6
|
+
https://github.com/elikem/test_repo.git --- COPIED TO CLIPBOARD
|
7
|
+
|
8
|
+
message
|
9
|
+
nil
|
10
|
+
|
11
|
+
error message
|
12
|
+
nil
|
13
|
+
|
14
|
+
attributes
|
15
|
+
{"id"=>24024659, "name"=>"test_repo", "full_name"=>"elikem/test_repo", "owner"=>{"login"=>"elikem", "id"=>1282871, "avatar_url"=>"https://avatars.githubusercontent.com/u/1282871?v=2", "gravatar_id"=>"90eb0e692f7f2767b506510b648bd52c", "url"=>"https://api.github.com/users/elikem", "html_url"=>"https://github.com/elikem", "followers_url"=>"https://api.github.com/users/elikem/followers", "following_url"=>"https://api.github.com/users/elikem/following{/other_user}", "gists_url"=>"https://api.github.com/users/elikem/gists{/gist_id}", "starred_url"=>"https://api.github.com/users/elikem/starred{/owner}{/repo}", "subscriptions_url"=>"https://api.github.com/users/elikem/subscriptions", "organizations_url"=>"https://api.github.com/users/elikem/orgs", "repos_url"=>"https://api.github.com/users/elikem/repos", "events_url"=>"https://api.github.com/users/elikem/events{/privacy}", "received_events_url"=>"https://api.github.com/users/elikem/received_events", "type"=>"User", "site_admin"=>false}, "private"=>false, "html_url"=>"https://github.com/elikem/test_repo", "description"=>"description", "fork"=>false, "url"=>"https://api.github.com/repos/elikem/test_repo", "forks_url"=>"https://api.github.com/repos/elikem/test_repo/forks", "keys_url"=>"https://api.github.com/repos/elikem/test_repo/keys{/key_id}", "collaborators_url"=>"https://api.github.com/repos/elikem/test_repo/collaborators{/collaborator}", "teams_url"=>"https://api.github.com/repos/elikem/test_repo/teams", "hooks_url"=>"https://api.github.com/repos/elikem/test_repo/hooks", "issue_events_url"=>"https://api.github.com/repos/elikem/test_repo/issues/events{/number}", "events_url"=>"https://api.github.com/repos/elikem/test_repo/events", "assignees_url"=>"https://api.github.com/repos/elikem/test_repo/assignees{/user}", "branches_url"=>"https://api.github.com/repos/elikem/test_repo/branches{/branch}", "tags_url"=>"https://api.github.com/repos/elikem/test_repo/tags", "blobs_url"=>"https://api.github.com/repos/elikem/test_repo/git/blobs{/sha}", "git_tags_url"=>"https://api.github.com/repos/elikem/test_repo/git/tags{/sha}", "git_refs_url"=>"https://api.github.com/repos/elikem/test_repo/git/refs{/sha}", "trees_url"=>"https://api.github.com/repos/elikem/test_repo/git/trees{/sha}", "statuses_url"=>"https://api.github.com/repos/elikem/test_repo/statuses/{sha}", "languages_url"=>"https://api.github.com/repos/elikem/test_repo/languages", "stargazers_url"=>"https://api.github.com/repos/elikem/test_repo/stargazers", "contributors_url"=>"https://api.github.com/repos/elikem/test_repo/contributors", "subscribers_url"=>"https://api.github.com/repos/elikem/test_repo/subscribers", "subscription_url"=>"https://api.github.com/repos/elikem/test_repo/subscription", "commits_url"=>"https://api.github.com/repos/elikem/test_repo/commits{/sha}", "git_commits_url"=>"https://api.github.com/repos/elikem/test_repo/git/commits{/sha}", "comments_url"=>"https://api.github.com/repos/elikem/test_repo/comments{/number}", "issue_comment_url"=>"https://api.github.com/repos/elikem/test_repo/issues/comments/{number}", "contents_url"=>"https://api.github.com/repos/elikem/test_repo/contents/{+path}", "compare_url"=>"https://api.github.com/repos/elikem/test_repo/compare/{base}...{head}", "merges_url"=>"https://api.github.com/repos/elikem/test_repo/merges", "archive_url"=>"https://api.github.com/repos/elikem/test_repo/{archive_format}{/ref}", "downloads_url"=>"https://api.github.com/repos/elikem/test_repo/downloads", "issues_url"=>"https://api.github.com/repos/elikem/test_repo/issues{/number}", "pulls_url"=>"https://api.github.com/repos/elikem/test_repo/pulls{/number}", "milestones_url"=>"https://api.github.com/repos/elikem/test_repo/milestones{/number}", "notifications_url"=>"https://api.github.com/repos/elikem/test_repo/notifications{?since,all,participating}", "labels_url"=>"https://api.github.com/repos/elikem/test_repo/labels{/name}", "releases_url"=>"https://api.github.com/repos/elikem/test_repo/releases{/id}", "created_at"=>"2014-09-14T14:56:29Z", "updated_at"=>"2014-09-14T14:56:29Z", "pushed_at"=>"2014-09-14T14:56:29Z", "git_url"=>"git://github.com/elikem/test_repo.git", "ssh_url"=>"git@github.com:elikem/test_repo.git", "clone_url"=>"https://github.com/elikem/test_repo.git", "svn_url"=>"https://github.com/elikem/test_repo", "homepage"=>nil, "size"=>0, "stargazers_count"=>0, "watchers_count"=>0, "language"=>nil, "has_issues"=>true, "has_downloads"=>true, "has_wiki"=>true, "forks_count"=>0, "mirror_url"=>nil, "open_issues_count"=>0, "forks"=>0, "open_issues"=>0, "watchers"=>0, "default_branch"=>"master", "permissions"=>{"admin"=>true, "push"=>true, "pull"=>true}, "network_count"=>0, "subscribers_count"=>1, :repository=>"test_repo", :description=>"description", :wants_ssh=>false, :username=>"elikem", :password=>"password"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
irb(main):001:0> Githubrepo.create( { :repository => 'test_repo', :description => 'description', :wants_ssh => false, :username => 'username', :password => 'wrong_password' } )
|
2
|
+
|
3
|
+
=> #<HTTParty::Response:0x7fac9b0302d8 parsed_response={"message"=>"Bad credentials", "documentation_url"=>"https://developer.github.com/v3"}, @response=#<Net::HTTPUnauthorized 401 Unauthorized readbody=true>, @headers={"server"=>["GitHub.com"], "date"=>["Sun, 14 Sep 2014 14:51:36 GMT"], "content-type"=>["application/json; charset=utf-8"], "connection"=>["close"], "status"=>["401 Unauthorized"], "x-github-media-type"=>["github.v3"], "x-ratelimit-limit"=>["60"], "x-ratelimit-remaining"=>["52"], "x-ratelimit-reset"=>["1410708955"], "x-xss-protection"=>["1; mode=block"], "x-frame-options"=>["deny"], "content-security-policy"=>["default-src 'none'"], "content-length"=>["83"], "access-control-allow-credentials"=>["true"], "access-control-expose-headers"=>["ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval"], "access-control-allow-origin"=>["*"], "x-github-request-id"=>["6372ADE0:13B0:62C5FE6:5415AB77"], "strict-transport-security"=>["max-age=31536000; includeSubdomains; preload"], "x-content-type-options"=>["nosniff"]}>
|
4
|
+
|
5
|
+
message
|
6
|
+
Bad credentials
|
7
|
+
|
8
|
+
error message
|
9
|
+
nil
|
10
|
+
|
11
|
+
attributes
|
12
|
+
{"message"=>"Bad credentials", "documentation_url"=>"https://developer.github.com/v3", :repository=>"test_repo", :description=>"description", :wants_ssh=>false, :username=>"username", :password=>"wrong_password"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
irb(main):002:0> Githubrepo.create( { :repository => 'test_repo', :description => 'description', :wants_ssh => false, :username => 'elikem', :password => 'password' } )
|
2
|
+
|
3
|
+
=> #<HTTParty::Response:0x7fdab4bf9d98 parsed_response={"message"=>"Validation Failed", "documentation_url"=>"https://developer.github.com/v3/repos/#create", "errors"=>[{"resource"=>"Repository", "code"=>"custom", "field"=>"name", "message"=>"name already exists on this account"}]}, @response=#<Net::HTTPUnprocessableEntity 422 Unprocessable Entity readbody=true>, @headers={"server"=>["GitHub.com"], "date"=>["Sun, 14 Sep 2014 15:03:15 GMT"], "content-type"=>["application/json; charset=utf-8"], "connection"=>["close"], "status"=>["422 Unprocessable Entity"], "x-ratelimit-limit"=>["5000"], "x-ratelimit-remaining"=>["4999"], "x-ratelimit-reset"=>["1410710595"], "x-github-media-type"=>["github.v3"], "x-xss-protection"=>["1; mode=block"], "x-frame-options"=>["deny"], "content-security-policy"=>["default-src 'none'"], "content-length"=>["215"], "access-control-allow-credentials"=>["true"], "access-control-expose-headers"=>["ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval"], "access-control-allow-origin"=>["*"], "x-github-request-id"=>["6372ADE0:13B0:631282E:5415AE32"], "strict-transport-security"=>["max-age=31536000; includeSubdomains; preload"], "x-content-type-options"=>["nosniff"]}>
|
4
|
+
|
5
|
+
message
|
6
|
+
Validation failed
|
7
|
+
|
8
|
+
error message
|
9
|
+
Name already exists on this account
|
10
|
+
|
11
|
+
attributes
|
12
|
+
{"message"=>"Validation Failed", "documentation_url"=>"https://developer.github.com/v3/repos/#create", "errors"=>[{"resource"=>"Repository", "code"=>"custom", "field"=>"name", "message"=>"name already exists on this account"}], :repository=>"test_repo", :description=>"description", :wants_ssh=>false, :username=>"elikem", :password=>"password"}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: githubrepo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Elikem Adadevoh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,6 +38,48 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: vcr
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: webmock
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
41
83
|
- !ruby/object:Gem::Dependency
|
42
84
|
name: commander
|
43
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -133,6 +175,7 @@ files:
|
|
133
175
|
- ".gitignore"
|
134
176
|
- ".idea/codeStyleSettings.xml"
|
135
177
|
- ".idea/runConfigurations/githubrepo.xml"
|
178
|
+
- ".rspec"
|
136
179
|
- Gemfile
|
137
180
|
- Gemfile.lock
|
138
181
|
- LICENSE.txt
|
@@ -142,6 +185,14 @@ files:
|
|
142
185
|
- githubrepo.gemspec
|
143
186
|
- lib/githubrepo.rb
|
144
187
|
- lib/githubrepo/version.rb
|
188
|
+
- spec/fixtures/vcr_cassettes/create_a_existing_repository.yml
|
189
|
+
- spec/fixtures/vcr_cassettes/create_a_repository.yml
|
190
|
+
- spec/fixtures/vcr_cassettes/create_a_repository_with_bad_password.yml
|
191
|
+
- spec/githubrepo_spec.rb
|
192
|
+
- spec/spec_helper.rb
|
193
|
+
- stdout/response.txt
|
194
|
+
- stdout/response_with_bad_credentials.txt
|
195
|
+
- stdout/response_with_existing_repository.txt
|
145
196
|
homepage: https://github.com/elikem/githubrepo
|
146
197
|
licenses:
|
147
198
|
- MIT
|
@@ -166,5 +217,9 @@ rubygems_version: 2.2.2
|
|
166
217
|
signing_key:
|
167
218
|
specification_version: 4
|
168
219
|
summary: CLI to create repositories
|
169
|
-
test_files:
|
170
|
-
|
220
|
+
test_files:
|
221
|
+
- spec/fixtures/vcr_cassettes/create_a_existing_repository.yml
|
222
|
+
- spec/fixtures/vcr_cassettes/create_a_repository.yml
|
223
|
+
- spec/fixtures/vcr_cassettes/create_a_repository_with_bad_password.yml
|
224
|
+
- spec/githubrepo_spec.rb
|
225
|
+
- spec/spec_helper.rb
|