gb 0.1.2 → 0.1.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6cbb144ce7b27e5b2d0baf6bef7ad30b081f2b858e7269575fe8077f7a82836a
4
- data.tar.gz: 281cae42940517465d86449a455fd1a461059ec8863227a549515b6c0d3329d9
3
+ metadata.gz: b92a4e546c65aa5763dbca8c0d44ce618b7049464a6bd3b2cdd6cab0d40d8319
4
+ data.tar.gz: a250d44da3534a1e6d7838a85a6c4a29181c1265aff835da5d04bc0b0f82cf4c
5
5
  SHA512:
6
- metadata.gz: 80d86fa85596b45d698be35d7c3e4601ecbc7f994665d257b388f1e9480088866a4b8e9d3fd17f38c6def6b8e965e84c1f5bb30b728ce14fa9db585ae5139d1e
7
- data.tar.gz: 5961753dc5033357b96cb524339accb519275347ff53b5c92a68487b6c0ef0e47dfd6906a68ed0401c99d20485a9353e670efa66490175cf559d4925bb5c334b
6
+ metadata.gz: e51b1b5d76ee3590650665a52731fbdf11dcea9c2a67f9f9ca1034a4c8b53334690ea60c7d77a38e077bd93d74480cee0fc463f2be564aef57c527da3a61df32
7
+ data.tar.gz: 7a37de109ec6ec2409277f93a2e53b5ee8863ce337723d22ff630314736fac0567cc015d0be8b55af6a5f60a0bd45d1eff876b0c52efe92904761bc8b1d69343
@@ -18,6 +18,7 @@ module Gb
18
18
  def self.options
19
19
  [
20
20
  ["--assignee=[user name]", "指定review用户名称"],
21
+ ["--at=[user name]", "指定要@用户名称"],
21
22
  ["--title", "merge request标题"],
22
23
  ["--show-diff", "review前是否显示变更"],
23
24
  ].concat(super)
@@ -27,6 +28,7 @@ module Gb
27
28
  # @working_branch = argv.shift_argument
28
29
  # @remote_branch = argv.shift_argument
29
30
  @assignee = argv.option('assignee')
31
+ @at = argv.option('at')
30
32
  @title = argv.option('title')
31
33
  @show_diff = argv.flag?('show-diff')
32
34
  super
@@ -71,6 +73,11 @@ module Gb
71
73
  user = gitlab_search_user(@assignee)
72
74
  end
73
75
 
76
+ at_user = nil
77
+ if !@at.nil?
78
+ at_user = gitlab_search_user(@at)
79
+ end
80
+
74
81
  self.gb_config.projects.each_with_index do |project, index|
75
82
  project_path = File.expand_path(project.name, './')
76
83
  if File.exist?(project_path)
@@ -151,11 +158,24 @@ module Gb
151
158
 
152
159
  if user.nil?
153
160
  users = gitlab_get_team_members(gitlab_project.id)
161
+
162
+ info "Find user to assign."
163
+ users.each_with_index do |user, index|
164
+ puts "#{index + 1}、#{user.username}(#{user.name})".green
165
+ end
166
+
154
167
  begin
155
168
  info "\nSelect user name or index for review."
156
169
  input_user = STDIN.gets.chomp
157
- if input_user =~ /[[:digit:]]/
158
- user = users[input_user.to_i - 1]
170
+ if input_user.length == 0
171
+ user = nil
172
+ elsif input_user =~ /[[:digit:]]/
173
+ index = input_user.to_i;
174
+ if index > 0 && index < users.size
175
+ user = users[input_user.to_i - 1]
176
+ else
177
+ user = nil
178
+ end
159
179
  else
160
180
  user = gitlab_search_user(input_user)
161
181
  end
@@ -174,6 +194,40 @@ module Gb
174
194
  end until @title.length > 0
175
195
  end
176
196
 
197
+ if at_user.nil?
198
+ info "Find user for @."
199
+ puts "0、none".green
200
+ users.each_with_index do |user, index|
201
+ puts "#{index + 1}、#{user.username}(#{user.name})".green
202
+ end
203
+
204
+ begin
205
+ info "\nSelect user name or index for @."
206
+ input_user = STDIN.gets.chomp
207
+ if input_user =~ /[[:digit:]]/
208
+ index = input_user.to_i;
209
+ if index == 0
210
+ break
211
+ end
212
+ at_user = users[index - 1]
213
+ else
214
+ if input_user.length == 0
215
+ break
216
+ elsif index < users.size
217
+ user = users[input_user.to_i - 1]
218
+ else
219
+ user = nil
220
+ end
221
+ at_user = gitlab_search_user(input_user)
222
+ end
223
+ if at_user.nil?
224
+ error "Can not found user '#{input_user}'."
225
+ else
226
+ info "@#{at_user.username}(#{at_user.name})"
227
+ end
228
+ end until !at_user.nil?
229
+ end
230
+
177
231
  # 总共 0 (差异 0),复用 0 (差异 0)
178
232
  # remote:
179
233
  # remote: To create a merge request for dev-v3.9.0-luobin, visit:
@@ -183,8 +237,8 @@ module Gb
183
237
  # * [new branch] dev-v3.9.0-luobin -> dev-v3.9.0-luobin
184
238
 
185
239
  begin
186
- merge_request = Gitlab.create_merge_request(gitlab_project.id, @title,
187
- { source_branch: @working_branch, target_branch: @remote_branch, assignee_id:user ? user.id : "" })
240
+ options = { source_branch: @working_branch, target_branch: @remote_branch, assignee_id:user ? user.id : "", description:at_user ? "@#{at_user.username}":nil }
241
+ merge_request = Gitlab.create_merge_request(gitlab_project.id, @title, options)
188
242
  info "Create merge request for #{project.name} success. see detail url:#{merge_request.web_url}"
189
243
  if !Gem.win_platform?
190
244
  `open -a "/Applications/Google Chrome.app" '#{merge_request.web_url}/diffs'`
@@ -247,10 +301,7 @@ module Gb
247
301
  user.username == 'root'
248
302
  }
249
303
  if users.size > 0
250
- info "Find user to assign."
251
- users.each_with_index do |user, index|
252
- puts "#{index + 1}、#{user.username}(#{user.name})".green
253
- end
304
+
254
305
  else
255
306
  raise Error.new("Can't find members in project '#{project_id}''.")
256
307
  end
data/lib/gb/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Gb
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - binluo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-09-06 00:00:00.000000000 Z
11
+ date: 2019-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gitlab