git_helper 3.2.2 → 3.3.4
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 +2 -0
- data/Gemfile.lock +134 -0
- data/Guardfile +3 -1
- data/README.md +10 -5
- data/Rakefile +2 -0
- data/bin/git-helper +24 -12
- data/lib/git_helper.rb +6 -2
- data/lib/git_helper/change_remote.rb +15 -6
- data/lib/git_helper/checkout_default.rb +2 -0
- data/lib/git_helper/clean_branches.rb +2 -0
- data/lib/git_helper/code_request.rb +33 -19
- data/lib/git_helper/empty_commit.rb +2 -0
- data/lib/git_helper/forget_local_commits.rb +2 -0
- data/lib/git_helper/git_config_reader.rb +12 -6
- data/lib/git_helper/gitlab_client.rb +2 -0
- data/lib/git_helper/local_code.rb +18 -8
- data/lib/git_helper/merge_request.rb +90 -70
- data/lib/git_helper/new_branch.rb +4 -2
- data/lib/git_helper/octokit_client.rb +2 -0
- data/lib/git_helper/pull_request.rb +97 -66
- data/lib/git_helper/setup.rb +116 -0
- data/lib/git_helper/version.rb +3 -1
- data/spec/git_helper/change_remote_spec.rb +24 -24
- data/spec/git_helper/checkout_default_spec.rb +2 -0
- data/spec/git_helper/clean_branches_spec.rb +2 -0
- data/spec/git_helper/code_request_spec.rb +31 -28
- data/spec/git_helper/empty_commit_spec.rb +2 -0
- data/spec/git_helper/forget_local_commits_spec.rb +2 -0
- data/spec/git_helper/git_config_reader_spec.rb +32 -4
- data/spec/git_helper/gitlab_client_spec.rb +2 -0
- data/spec/git_helper/local_code_spec.rb +2 -0
- data/spec/git_helper/merge_request_spec.rb +24 -23
- data/spec/git_helper/new_branch_spec.rb +10 -8
- data/spec/git_helper/octokit_client_spec.rb +2 -0
- data/spec/git_helper/pull_request_spec.rb +20 -18
- data/spec/git_helper/setup_spec.rb +183 -0
- data/spec/spec_helper.rb +4 -1
- metadata +38 -9
- data/lib/git_helper/highline_cli.rb +0 -33
- data/spec/git_helper/highline_cli_spec.rb +0 -51
data/spec/spec_helper.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'faker'
|
4
|
+
require 'pry'
|
2
5
|
|
3
6
|
# This file was generated by the `rspec --init` command. Conventionally, all
|
4
7
|
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
|
@@ -33,7 +36,7 @@ RSpec.configure do |config|
|
|
33
36
|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
34
37
|
end
|
35
38
|
|
36
|
-
config.filter_run :
|
39
|
+
config.filter_run focus: true
|
37
40
|
config.run_all_when_everything_filtered = true
|
38
41
|
|
39
42
|
# rspec-mocks config goes here. You can use an alternate test double
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Emma Sax
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gitlab
|
@@ -39,19 +39,19 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '2.13'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: highline_wrapper
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 0.1.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 0.1.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: octokit
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '4.3'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: pry
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.13'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.13'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: rake
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,6 +150,20 @@ dependencies:
|
|
136
150
|
- - "~>"
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '3.9'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: rubocop
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '1.10'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - "~>"
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '1.10'
|
139
167
|
description: A set of GitHub and GitLab workflow scripts to provide a smoother development
|
140
168
|
process for your git projects.
|
141
169
|
email:
|
@@ -145,6 +173,7 @@ extensions: []
|
|
145
173
|
extra_rdoc_files: []
|
146
174
|
files:
|
147
175
|
- Gemfile
|
176
|
+
- Gemfile.lock
|
148
177
|
- Guardfile
|
149
178
|
- LICENSE
|
150
179
|
- README.md
|
@@ -159,12 +188,12 @@ files:
|
|
159
188
|
- lib/git_helper/forget_local_commits.rb
|
160
189
|
- lib/git_helper/git_config_reader.rb
|
161
190
|
- lib/git_helper/gitlab_client.rb
|
162
|
-
- lib/git_helper/highline_cli.rb
|
163
191
|
- lib/git_helper/local_code.rb
|
164
192
|
- lib/git_helper/merge_request.rb
|
165
193
|
- lib/git_helper/new_branch.rb
|
166
194
|
- lib/git_helper/octokit_client.rb
|
167
195
|
- lib/git_helper/pull_request.rb
|
196
|
+
- lib/git_helper/setup.rb
|
168
197
|
- lib/git_helper/version.rb
|
169
198
|
- plugins.zip
|
170
199
|
- spec/git_helper/change_remote_spec.rb
|
@@ -175,12 +204,12 @@ files:
|
|
175
204
|
- spec/git_helper/forget_local_commits_spec.rb
|
176
205
|
- spec/git_helper/git_config_reader_spec.rb
|
177
206
|
- spec/git_helper/gitlab_client_spec.rb
|
178
|
-
- spec/git_helper/highline_cli_spec.rb
|
179
207
|
- spec/git_helper/local_code_spec.rb
|
180
208
|
- spec/git_helper/merge_request_spec.rb
|
181
209
|
- spec/git_helper/new_branch_spec.rb
|
182
210
|
- spec/git_helper/octokit_client_spec.rb
|
183
211
|
- spec/git_helper/pull_request_spec.rb
|
212
|
+
- spec/git_helper/setup_spec.rb
|
184
213
|
- spec/spec_helper.rb
|
185
214
|
homepage: https://github.com/emmahsax/git_helper
|
186
215
|
licenses:
|
@@ -194,7 +223,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
194
223
|
requirements:
|
195
224
|
- - ">="
|
196
225
|
- !ruby/object:Gem::Version
|
197
|
-
version: '
|
226
|
+
version: '2.5'
|
198
227
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
199
228
|
requirements:
|
200
229
|
- - ">="
|
@@ -215,9 +244,9 @@ test_files:
|
|
215
244
|
- spec/git_helper/forget_local_commits_spec.rb
|
216
245
|
- spec/git_helper/git_config_reader_spec.rb
|
217
246
|
- spec/git_helper/gitlab_client_spec.rb
|
218
|
-
- spec/git_helper/highline_cli_spec.rb
|
219
247
|
- spec/git_helper/local_code_spec.rb
|
220
248
|
- spec/git_helper/merge_request_spec.rb
|
221
249
|
- spec/git_helper/new_branch_spec.rb
|
222
250
|
- spec/git_helper/octokit_client_spec.rb
|
223
251
|
- spec/git_helper/pull_request_spec.rb
|
252
|
+
- spec/git_helper/setup_spec.rb
|
@@ -1,33 +0,0 @@
|
|
1
|
-
module GitHelper
|
2
|
-
class HighlineCli
|
3
|
-
def ask(prompt)
|
4
|
-
highline_client.ask(prompt) do |conf|
|
5
|
-
conf.readline = true
|
6
|
-
end.to_s
|
7
|
-
end
|
8
|
-
|
9
|
-
def ask_yes_no(prompt)
|
10
|
-
answer = highline_client.ask(prompt) do |conf|
|
11
|
-
conf.readline = true
|
12
|
-
end.to_s
|
13
|
-
|
14
|
-
answer.empty? ? true : !!(answer =~ /^y/i)
|
15
|
-
end
|
16
|
-
|
17
|
-
def ask_options(prompt, choices)
|
18
|
-
choices_as_string_options = ''
|
19
|
-
choices.each { |choice| choices_as_string_options << "#{choices.index(choice) + 1}. #{choice}\n" }
|
20
|
-
compiled_prompt = "#{prompt}\n#{choices_as_string_options.strip}"
|
21
|
-
|
22
|
-
index = highline_client.ask(compiled_prompt) do |conf|
|
23
|
-
conf.readline = true
|
24
|
-
end.to_i - 1
|
25
|
-
|
26
|
-
choices[index]
|
27
|
-
end
|
28
|
-
|
29
|
-
private def highline_client
|
30
|
-
@highline_client ||= HighLine.new
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'git_helper'
|
3
|
-
|
4
|
-
describe GitHelper::HighlineCli do
|
5
|
-
let(:response) { double(:response, readline: true, to_i: 3) }
|
6
|
-
let(:highline_client) { double(:highline_cli, ask: response) }
|
7
|
-
|
8
|
-
subject { GitHelper::HighlineCli.new }
|
9
|
-
|
10
|
-
before do
|
11
|
-
allow(HighLine).to receive(:new).and_return(highline_client)
|
12
|
-
end
|
13
|
-
|
14
|
-
describe '#ask' do
|
15
|
-
it 'should ask the highline client ask'do
|
16
|
-
expect(highline_client).to receive(:ask)
|
17
|
-
subject.ask(Faker::Lorem.sentence)
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'should return a string' do
|
21
|
-
expect(subject.ask(Faker::Lorem.sentence)).to be_a(String)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
describe '#ask_yes_no' do
|
26
|
-
it 'should ask the highline client ask'do
|
27
|
-
expect(highline_client).to receive(:ask)
|
28
|
-
subject.ask_yes_no(Faker::Lorem.sentence)
|
29
|
-
end
|
30
|
-
|
31
|
-
it 'should return a boolean' do
|
32
|
-
expect(subject.ask_yes_no(Faker::Lorem.sentence)).to be_falsey
|
33
|
-
end
|
34
|
-
|
35
|
-
it 'should return true if we say yes' do
|
36
|
-
allow(response).to receive(:to_s).and_return('y')
|
37
|
-
expect(subject.ask_yes_no(Faker::Lorem.sentence)).to be_truthy
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
describe '#ask_options' do
|
42
|
-
it 'should ask the highline client ask'do
|
43
|
-
expect(highline_client).to receive(:ask)
|
44
|
-
subject.ask_options(Faker::Lorem.sentence, ['one', 'two', 'three'])
|
45
|
-
end
|
46
|
-
|
47
|
-
it 'should return a string from the options' do
|
48
|
-
expect(subject.ask_options(Faker::Lorem.sentence, ['one', 'two', 'three'])).to be_a(String)
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|