hiiro 0.1.162 → 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 +51 -7
- 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
|
|
|
@@ -953,6 +959,40 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
|
|
|
953
959
|
filtered.each_with_index { |pr, i| puts pinned_manager.display_pinned(pr, i) }
|
|
954
960
|
end
|
|
955
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
|
+
|
|
956
996
|
add_subcmd(:missing) do
|
|
957
997
|
my_prs = pinned_manager.fetch_my_and_assigned_prs
|
|
958
998
|
pinned_numbers = pinned_manager.load_pinned.map { |p| p['number'] }
|
|
@@ -965,7 +1005,10 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
|
|
|
965
1005
|
|
|
966
1006
|
puts "Untracked PRs (#{missing.count}):"
|
|
967
1007
|
puts
|
|
968
|
-
missing.each
|
|
1008
|
+
missing.each do |pr|
|
|
1009
|
+
relationship = pr['assigned'] ? 'assigned' : 'authored'
|
|
1010
|
+
puts " ##{pr['number']} [#{pr['headRefName']}] #{pr['title']} (#{relationship})"
|
|
1011
|
+
end
|
|
969
1012
|
end
|
|
970
1013
|
|
|
971
1014
|
add_subcmd(:amissing) do
|
|
@@ -983,8 +1026,9 @@ Hiiro.run(*ARGV, plugins: [Pins]) do
|
|
|
983
1026
|
tmpfile = Tempfile.new(['missing-prs-', '.yml'])
|
|
984
1027
|
lines = ['---']
|
|
985
1028
|
missing.each do |pr|
|
|
1029
|
+
relationship = pr['assigned'] ? 'assigned' : 'authored'
|
|
986
1030
|
lines << ''
|
|
987
|
-
lines << "# [#{pr['headRefName']}] #{pr['title']}"
|
|
1031
|
+
lines << "# [#{relationship}] [#{pr['headRefName']}] #{pr['title']}"
|
|
988
1032
|
lines << "# url: #{pr['url']}"
|
|
989
1033
|
lines << "- #{pr['number']}"
|
|
990
1034
|
end
|
data/lib/hiiro/version.rb
CHANGED