Last active
May 14, 2021 00:09
-
-
Save mame/b0390509ce1491b43610b9ebb665eb86 to your computer and use it in GitHub Desktop.
A script to create an agenda for dev-meeting https://bugs.ruby-lang.org/issues/14770
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
require "open-uri" | |
require "json" | |
unless ARGV[0] =~ %r{\Ahttps://bugs.ruby-lang.org/issues/(\d+)\z} | |
puts "Usage: #$0 https://bugs.ruby-lang.org/issues/XXXX" | |
exit 1 | |
end | |
URI.open("https://bugs.ruby-lang.org/issues/#$1.json?include=journals") do |f| | |
comments = JSON.parse(f.read, symbolize_names: true)[:issue][:journals] | |
comments.each do |comment| | |
comment[:notes].gsub("\r\n", "\n").scan(/^[*\-] (\[(?:Bug|Feature|Misc) #(\d+)\]) (.*?)( \(\w+\))?\s*\n((?: [*\-] .*(?:\n|$))+)/) do | |
issue, nb, title, author, summary = $~.captures | |
author = " (#{comment[:user][:name].split(' ').first})" unless author | |
puts "### [#{issue}](https://bugs.ruby-lang.org/issues/#{nb}) #{title}#{author}" | |
puts | |
puts summary.gsub(/^ /, "") | |
puts | |
puts "Discussion:" | |
puts | |
puts "* in short: " | |
puts | |
end | |
end | |
end |
@mame I tried running the script on Ruby 3 and it didn't work because calling Kernel#open
to use URI.open
stopped working. Had to fix it like this:
diff --git a/orig.rb b/patched.rb
index 5587203..4aea74a 100644
--- a/orig.rb
+++ b/patched.rb
@@ -8,7 +8,7 @@ unless ARGV[0] =~ %r{\Ahttps://bugs.ruby-lang.org/issues/(\d+)\z}
exit 1
end
-open("https://bugs.ruby-lang.org/issues/#$1.json?include=journals") do |f|
+URI.open("https://bugs.ruby-lang.org/issues/#$1.json?include=journals") do |f|
comments = JSON.parse(f.read, symbolize_names: true)[:issue][:journals]
comments.each do |comment|
comment[:notes].gsub("\r\n", "\n").scan(/^[*\-] (\[(?:Bug|Feature|Misc) #(\d+)\]) (.*?)( \(\w+\))?\s*\n((?: [*\-] .*(?:\n|$))+)/) do
@XrXr Yeah, I have fixed the issue only on my local machine :-) Fixed, thanks!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@mame this ignores some markdown like this:
When there is only one space before the point 1, the entire feature is ignored.