pindo 5.7.0 → 5.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2c0a15b51042f5ec552927e91ec27520410303e55c09b649d34cf57f5368bb8
4
- data.tar.gz: 3bd8415b61c8fa8628d0369740a68ab0e83fcaf30fae3e7b399a814e83d8aab0
3
+ metadata.gz: c4b964e18c3af71f1705355cf695575e282d71366ee055223d17c1c6cb23c5ca
4
+ data.tar.gz: 833b6f3986ecba29006bb12e8b2f8fd831c904d877f0eb774699b89b0bf9a7b0
5
5
  SHA512:
6
- metadata.gz: 23d4e4087e51f318f48894781856534fb462f6cb476ac9e16104fb22e759dfa9a3ec4617fb4720798eaf1c6fd9f31b8da7fa91203fe6f339b70c9818bbdf365b
7
- data.tar.gz: 80cb1d494c4f3913af733560f2492a0203a96ffc5e0ff7ace90b204d0ebd2c08f95d3c645f5fbc7e866e6365addd6444554c224d5d5fc4ecbba5291b1e4174f7
6
+ metadata.gz: 8a73e0cb705390f6e967e397c20531282e1115ba23950092d43912b1ce27becaa323fb4fcb789fd076021964f044a5e822a7a6520a1c0805f2c764a70e96cd26
7
+ data.tar.gz: d7f02cf4fe210cecdd19a7e36221ff0747047d572103a8e21d6cc230135878229b3151de0f16c1af8988f5ed3eb6e025c0d3e7f24df9582b28dbc8c383ebd962
@@ -172,7 +172,7 @@ module Pindo
172
172
  # 如果过滤后没有结果,使用所有工作流
173
173
  display_workflows = filtered_workflows.empty? ? workflows : filtered_workflows
174
174
 
175
- # 3. 用户选择工作流
175
+ # 3. 根据匹配数量决定选择方式
176
176
  type_desc = case package_type
177
177
  when 'ipa' then 'iOS IPA'
178
178
  when 'apk' then 'Android APK'
@@ -180,21 +180,36 @@ module Pindo
180
180
  else package_type
181
181
  end
182
182
 
183
- cli = HighLine.new
184
- workflow_choices = display_workflows.map do |w|
185
- "#{w['tabName'] || w['tab_name']} (ID: #{w['id'] || w['workflow_id']})"
186
- end
183
+ workflow = nil
187
184
 
188
- selected = cli.choose do |menu|
189
- menu.prompt = "请选择 #{type_desc} 工作流:"
190
- menu.choices(*workflow_choices)
191
- end
185
+ if display_workflows.empty?
186
+ # 情况1: 没有匹配的工作流
187
+ raise Informative, "没有找到匹配 #{type_desc} 的工作流"
188
+
189
+ elsif display_workflows.size == 1
190
+ # 情况2: 只有1个匹配的工作流,自动选择
191
+ workflow = display_workflows.first
192
+ workflow_name = workflow['tabName'] || workflow['tab_name']
193
+ Funlog.instance.fancyinfo_success("自动选择唯一匹配的工作流: #{workflow_name}")
192
194
 
193
- # 4. 提取选择的工作流
194
- selected_index = workflow_choices.index(selected)
195
- workflow = display_workflows[selected_index]
195
+ else
196
+ # 情况3: 有多个匹配的工作流,让用户选择
197
+ cli = HighLine.new
198
+ workflow_choices = display_workflows.map do |w|
199
+ "#{w['tabName'] || w['tab_name']} (ID: #{w['id'] || w['workflow_id']})"
200
+ end
201
+
202
+ selected = cli.choose do |menu|
203
+ menu.prompt = "请选择 #{type_desc} 工作流:"
204
+ menu.choices(*workflow_choices)
205
+ end
206
+
207
+ # 提取选择的工作流
208
+ selected_index = workflow_choices.index(selected)
209
+ workflow = display_workflows[selected_index]
210
+ end
196
211
 
197
- # 5. 返回标准化的工作流信息
212
+ # 4. 返回标准化的工作流信息
198
213
  {
199
214
  workflow_id: workflow['id'] || workflow['workflow_id'],
200
215
  tab_name: workflow['tabName'] || workflow['tab_name'],
data/lib/pindo/version.rb CHANGED
@@ -6,7 +6,7 @@ require 'time'
6
6
 
7
7
  module Pindo
8
8
 
9
- VERSION = "5.7.0"
9
+ VERSION = "5.7.1"
10
10
 
11
11
  class VersionCheck
12
12
  RUBYGEMS_API = 'https://rubygems.org/api/v1/gems/pindo.json'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pindo
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.7.0
4
+ version: 5.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - wade