git_helper 3.3.0 → 3.3.1
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/git_helper/git_config_reader.rb +8 -0
- data/lib/git_helper/setup.rb +20 -11
- data/lib/git_helper/version.rb +1 -1
- data/spec/git_helper/git_config_reader_spec.rb +28 -2
- data/spec/git_helper/setup_spec.rb +5 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be948f58bc902f2e3036bfc3379279afcc74012af9cb56ee1b1f8586ba9c0fa2
|
4
|
+
data.tar.gz: c4f8655fcaef1db1fba03ebb731932da6d185bb89c46ebc366781309b76ebd1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d19cf35a128b640a265aa89f229022fd7be3629e6e8ae5f6f08504494b1ccc5231af4ff1e39fbd3014ddb78e8757dd1a9413110872bdd7c8da8ae86525e7776a
|
7
|
+
data.tar.gz: d50eb1904c56c2269c139f7275321eef5516c70de6973fb2b11f8ea0f6681f5db5389f3f629c8b16718a7390442031e4999d8620a3814647b64dae340c01b8d1
|
data/Gemfile.lock
CHANGED
@@ -4,10 +4,18 @@ module GitHelper
|
|
4
4
|
config_file[:gitlab_token]
|
5
5
|
end
|
6
6
|
|
7
|
+
def gitlab_user
|
8
|
+
config_file[:gitlab_user]
|
9
|
+
end
|
10
|
+
|
7
11
|
def github_token
|
8
12
|
config_file[:github_token]
|
9
13
|
end
|
10
14
|
|
15
|
+
def github_user
|
16
|
+
config_file[:github_user]
|
17
|
+
end
|
18
|
+
|
11
19
|
def git_config_file_path
|
12
20
|
Dir.pwd.scan(/\A\/[\w]*\/[\w]*\//).first << git_config_file
|
13
21
|
end
|
data/lib/git_helper/setup.rb
CHANGED
@@ -10,7 +10,10 @@ module GitHelper
|
|
10
10
|
|
11
11
|
create_or_update_config_file if answer
|
12
12
|
|
13
|
-
answer = highline.ask_yes_no(
|
13
|
+
answer = highline.ask_yes_no(
|
14
|
+
"Do you wish to set up the Git Helper plugins? (y/n) (This process will " \
|
15
|
+
"attempt to use your GitHub personal access token to authenticate)"
|
16
|
+
)
|
14
17
|
|
15
18
|
if answer
|
16
19
|
create_or_update_plugin_files
|
@@ -61,27 +64,33 @@ module GitHelper
|
|
61
64
|
end
|
62
65
|
end
|
63
66
|
|
64
|
-
private def highline
|
65
|
-
@highline ||= GitHelper::HighlineCli.new
|
66
|
-
end
|
67
|
-
|
68
|
-
private def config_file
|
69
|
-
GitHelper::GitConfigReader.new.git_config_file_path
|
70
|
-
end
|
71
|
-
|
72
67
|
private def create_or_update_plugin_files
|
73
68
|
plugins_dir = "#{Dir.pwd.scan(/\A\/[\w]*\/[\w]*\//).first}/.git_helper/plugins"
|
74
69
|
plugins_url = 'https://api.github.com/repos/emmahsax/git_helper/contents/plugins'
|
75
70
|
header = 'Accept: application/vnd.github.v3.raw'
|
71
|
+
token = git_config_reader.github_token
|
72
|
+
user = git_config_reader.github_user
|
76
73
|
|
77
74
|
Dir.mkdir(plugins_dir) unless File.exists?(plugins_dir)
|
78
75
|
|
79
|
-
all_plugins = JSON.parse(`curl -s -H "#{header}" -L "#{plugins_url}"`)
|
76
|
+
all_plugins = JSON.parse(`curl -s -u #{user}:#{token} -H "#{header}" -L "#{plugins_url}"`)
|
80
77
|
|
81
78
|
all_plugins.each do |plugin|
|
82
|
-
plugin_content = `curl -s -H "#{header}" -L "#{plugins_url}/#{plugin['name']}"`
|
79
|
+
plugin_content = `curl -s -u #{user}:#{token} -H "#{header}" -L "#{plugins_url}/#{plugin['name']}"`
|
83
80
|
File.open("#{plugins_dir}/#{plugin['name']}", 'w') { |file| file.puts plugin_content }
|
84
81
|
end
|
85
82
|
end
|
83
|
+
|
84
|
+
private def config_file
|
85
|
+
git_config_reader.git_config_file_path
|
86
|
+
end
|
87
|
+
|
88
|
+
private def git_config_reader
|
89
|
+
@git_config_reader ||= GitHelper::GitConfigReader.new
|
90
|
+
end
|
91
|
+
|
92
|
+
private def highline
|
93
|
+
@highline ||= GitHelper::HighlineCli.new
|
94
|
+
end
|
86
95
|
end
|
87
96
|
end
|
data/lib/git_helper/version.rb
CHANGED
@@ -2,14 +2,16 @@ require 'spec_helper'
|
|
2
2
|
require 'git_helper'
|
3
3
|
|
4
4
|
describe GitHelper::GitConfigReader do
|
5
|
+
let(:github_user) { Faker::Internet.username }
|
5
6
|
let(:github_token) { Faker::Internet.password(max_length: 10) }
|
7
|
+
let(:gitlab_user) { Faker::Internet.username }
|
6
8
|
let(:gitlab_token) { Faker::Internet.password(max_length: 10) }
|
7
9
|
|
8
10
|
let(:config_file) {
|
9
11
|
{
|
10
|
-
github_user:
|
12
|
+
github_user: github_user,
|
11
13
|
github_token: github_token,
|
12
|
-
gitlab_user:
|
14
|
+
gitlab_user: gitlab_user,
|
13
15
|
gitlab_token: gitlab_token
|
14
16
|
}
|
15
17
|
}
|
@@ -40,6 +42,30 @@ describe GitHelper::GitConfigReader do
|
|
40
42
|
end
|
41
43
|
end
|
42
44
|
|
45
|
+
describe '#github_user' do
|
46
|
+
it 'should locate the github_user' do
|
47
|
+
expect(subject).to receive(:config_file).and_return(config_file)
|
48
|
+
expect(subject.github_user).to eq(github_user)
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'should call the config file' do
|
52
|
+
expect(subject).to receive(:config_file).and_return(config_file)
|
53
|
+
subject.github_user
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe '#gitlab_user' do
|
58
|
+
it 'should locate the gitlab_user' do
|
59
|
+
expect(subject).to receive(:config_file).and_return(config_file)
|
60
|
+
expect(subject.gitlab_user).to eq(gitlab_user)
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'should call the config file' do
|
64
|
+
expect(subject).to receive(:config_file).and_return(config_file)
|
65
|
+
subject.gitlab_user
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
43
69
|
describe '#config_file' do
|
44
70
|
it 'should yaml load the file path' do
|
45
71
|
expect(YAML).to receive(:load_file)
|
@@ -133,6 +133,11 @@ describe GitHelper::Setup do
|
|
133
133
|
]"
|
134
134
|
end
|
135
135
|
|
136
|
+
before do
|
137
|
+
allow_any_instance_of(GitHelper::GitConfigReader).to receive(:github_token).and_return(Faker::Internet.password)
|
138
|
+
allow_any_instance_of(GitHelper::GitConfigReader).to receive(:github_user).and_return(Faker::Internet.username)
|
139
|
+
end
|
140
|
+
|
136
141
|
it 'should create the directory if it does not exist' do
|
137
142
|
allow(File).to receive(:exists?).and_return(false)
|
138
143
|
allow(File).to receive(:open).and_return(nil)
|