hiiro 0.1.161 → 0.1.163
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/bin/h-pr +56 -14
- data/lib/hiiro/version.rb +1 -1
- 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: 2c3b8a7ef37a2274bf4b52e02065157b4b8594acfc46247515567a70a72d4358
|
|
4
|
+
data.tar.gz: f82e3af631f319bcfaf44ad0fee394af8e06047efa9c90643e3566a299e2ba7a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f19c0547afbd4b7daed0b32e53698eb03ec7e561608a4da56dc7f988afed623048e8085868190917e5f08f640fd7c41b42119465dad98922f44a5ba67c32b83e
|
|
7
|
+
data.tar.gz: 6ea2b1d2cfa23b14e78684647f373452682a2996dd957f17f641f018c4434df54950f902fb9c5b03425dc134de38368eaa35107aca98f8d0852e2ee3f78f969e
|
data/bin/h-pr
CHANGED
|
@@ -245,14 +245,20 @@ class PinnedPRManager
|
|
|
245
245
|
JSON.parse(output) rescue []
|
|
246
246
|
end
|
|
247
247
|
|
|
248
|
+
def fetch_assigned_prs
|
|
249
|
+
output = `gh pr list --assignee @me --state open --json number,title,headRefName,url 2>/dev/null`.strip
|
|
250
|
+
return [] if output.empty?
|
|
251
|
+
JSON.parse(output) rescue []
|
|
252
|
+
end
|
|
253
|
+
|
|
248
254
|
def fetch_my_and_assigned_prs
|
|
249
|
-
|
|
250
|
-
|
|
255
|
+
authored_prs = fetch_my_prs
|
|
256
|
+
assigned_prs = fetch_assigned_prs
|
|
251
257
|
|
|
252
|
-
|
|
253
|
-
assigned_prs
|
|
258
|
+
authored_numbers = authored_prs.map { |pr| pr['number'] }.to_set
|
|
259
|
+
assigned_prs.each { |pr| pr['assigned'] = true unless authored_numbers.include?(pr['number']) }
|
|
260
|
+
authored_prs.each { |pr| pr['authored'] = true }
|
|
254
261
|
|
|
255
|
-
# Dedupe by PR number
|
|
256
262
|
(authored_prs + assigned_prs).uniq { |pr| pr['number'] }
|
|
257
263
|
end
|
|
258
264
|
|
|
@@ -452,13 +458,11 @@ class PinnedPRManager
|
|
|
452
458
|
|
|
453
459
|
reviews_str =
|
|
454
460
|
if pr['reviews']
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
end
|
|
461
|
-
reviews.join('; ')
|
|
461
|
+
r = pr['reviews']
|
|
462
|
+
parts = []
|
|
463
|
+
parts << "#{r['approved']} approved" if r['approved'].to_i > 0
|
|
464
|
+
parts << "#{r['changes_requested']} changes" if r['changes_requested'].to_i > 0
|
|
465
|
+
parts.empty? ? "" : " | #{parts.join(', ')}"
|
|
462
466
|
else
|
|
463
467
|
""
|
|
464
468
|
end
|
|
@@ -955,6 +959,40 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
|
|
|
955
959
|
filtered.each_with_index { |pr, i| puts pinned_manager.display_pinned(pr, i) }
|
|
956
960
|
end
|
|
957
961
|
|
|
962
|
+
add_subcmd(:assigned) do
|
|
963
|
+
prs = pinned_manager.fetch_assigned_prs
|
|
964
|
+
|
|
965
|
+
if prs.empty?
|
|
966
|
+
puts "No PRs assigned to you"
|
|
967
|
+
next
|
|
968
|
+
end
|
|
969
|
+
|
|
970
|
+
pinned_numbers = pinned_manager.load_pinned.map { |p| p['number'] }.to_set
|
|
971
|
+
puts "PRs assigned to you (#{prs.count}):"
|
|
972
|
+
puts
|
|
973
|
+
prs.each_with_index do |pr, i|
|
|
974
|
+
tracked = pinned_numbers.include?(pr['number']) ? ' [tracked]' : ''
|
|
975
|
+
puts " #{i + 1}. ##{pr['number']} #{pr['title']} [#{pr['headRefName']}]#{tracked}"
|
|
976
|
+
end
|
|
977
|
+
end
|
|
978
|
+
|
|
979
|
+
add_subcmd(:created) do
|
|
980
|
+
prs = pinned_manager.fetch_my_prs
|
|
981
|
+
|
|
982
|
+
if prs.empty?
|
|
983
|
+
puts "No open PRs created by you"
|
|
984
|
+
next
|
|
985
|
+
end
|
|
986
|
+
|
|
987
|
+
pinned_numbers = pinned_manager.load_pinned.map { |p| p['number'] }.to_set
|
|
988
|
+
puts "PRs created by you (#{prs.count}):"
|
|
989
|
+
puts
|
|
990
|
+
prs.each_with_index do |pr, i|
|
|
991
|
+
tracked = pinned_numbers.include?(pr['number']) ? ' [tracked]' : ''
|
|
992
|
+
puts " #{i + 1}. ##{pr['number']} #{pr['title']} [#{pr['headRefName']}]#{tracked}"
|
|
993
|
+
end
|
|
994
|
+
end
|
|
995
|
+
|
|
958
996
|
add_subcmd(:missing) do
|
|
959
997
|
my_prs = pinned_manager.fetch_my_and_assigned_prs
|
|
960
998
|
pinned_numbers = pinned_manager.load_pinned.map { |p| p['number'] }
|
|
@@ -967,7 +1005,10 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
|
|
|
967
1005
|
|
|
968
1006
|
puts "Untracked PRs (#{missing.count}):"
|
|
969
1007
|
puts
|
|
970
|
-
missing.each
|
|
1008
|
+
missing.each do |pr|
|
|
1009
|
+
relationship = pr['assigned'] ? 'assigned' : 'authored'
|
|
1010
|
+
puts " ##{pr['number']} [#{pr['headRefName']}] #{pr['title']} (#{relationship})"
|
|
1011
|
+
end
|
|
971
1012
|
end
|
|
972
1013
|
|
|
973
1014
|
add_subcmd(:amissing) do
|
|
@@ -985,8 +1026,9 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
|
|
|
985
1026
|
tmpfile = Tempfile.new(['missing-prs-', '.yml'])
|
|
986
1027
|
lines = ['---']
|
|
987
1028
|
missing.each do |pr|
|
|
1029
|
+
relationship = pr['assigned'] ? 'assigned' : 'authored'
|
|
988
1030
|
lines << ''
|
|
989
|
-
lines << "# [#{pr['headRefName']}] #{pr['title']}"
|
|
1031
|
+
lines << "# [#{relationship}] [#{pr['headRefName']}] #{pr['title']}"
|
|
990
1032
|
lines << "# url: #{pr['url']}"
|
|
991
1033
|
lines << "- #{pr['number']}"
|
|
992
1034
|
end
|
data/lib/hiiro/version.rb
CHANGED