diff --git a/ghi b/ghi index c41c2c7..dc96f15 100755 --- a/ghi +++ b/ghi @@ -1568,9 +1568,21 @@ GitHub repository or by appending your command with the user/repo: end @issue end + alias extract_issue issue - alias milestone issue - alias extract_milestone issue + + def extract_milestone + return @milestone if defined? @milestone + extract_issue + @milestone = nil + if @issue + i = throb { api.get "/repos/#{repo}/issues/#{@issue}" }.body + @milestone = i["milestone"]["number"] if i["milestone"] + end + @milestone + end + + alias milestone extract_milestone def infer_issue_from_branch_prefix @issue = `git symbolic-ref --short HEAD 2>/dev/null`[/^\d+/]; @@ -2686,7 +2698,6 @@ EOF def execute self.action = 'index' require_repo - extract_milestone begin options.parse! args diff --git a/lib/ghi/commands/command.rb b/lib/ghi/commands/command.rb index fabe1b9..49d3224 100644 --- a/lib/ghi/commands/command.rb +++ b/lib/ghi/commands/command.rb @@ -108,9 +108,21 @@ def issue end @issue end + alias extract_issue issue - alias milestone issue - alias extract_milestone issue + + def extract_milestone + return @milestone if defined? @milestone + extract_issue + @milestone = nil + if @issue + i = throb { api.get "/repos/#{repo}/issues/#{@issue}" }.body + @milestone = i["milestone"]["number"] if i["milestone"] + end + @milestone + end + + alias milestone extract_milestone def infer_issue_from_branch_prefix @issue = `git symbolic-ref --short HEAD 2>/dev/null`[/^\d+/]; diff --git a/lib/ghi/commands/milestone.rb b/lib/ghi/commands/milestone.rb index 65956ae..d77dea5 100644 --- a/lib/ghi/commands/milestone.rb +++ b/lib/ghi/commands/milestone.rb @@ -82,7 +82,6 @@ def options def execute self.action = 'index' require_repo - extract_milestone begin options.parse! args