File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 55prevs = [ prev , prev . sub ( /\. \d +\z / , '' ) ]
66
77update = -> ( list , type , desc = "updated" ) do
8- item = -> ( mark = "* " ) do
8+ item = -> ( mark = "* " , sub_bullets = { } ) do
99 "### The following #{ type } gem#{ list . size == 1 ? ' is' : 's are' } #{ desc } .\n \n " +
10- list . map { |g , v |"#{ mark } #{ g } #{ v } \n " } . join ( "" ) + "\n "
10+ list . map { |g , v |
11+ s = "#{ mark } #{ g } #{ v } \n "
12+ s += sub_bullets [ g ] . join ( "" ) if sub_bullets [ g ]
13+ s
14+ } . join ( "" ) + "\n "
1115 end
12- news . sub! ( /^(?:\* ( +)|#+ *)?The following #{ type } gems? (?:are|is) #{ desc } \. \n +(?:(?(1) \1 )\* ( *).*\n )*\n */ ) do
13- item [ "#{ $1&.<< " " } *#{ $2 || ' ' } " ]
14- end or news . sub! ( /^## Stdlib updates(?:\n +The following.*(?:\n +( *\* *).*)*)*\n +\K / ) do
16+ news . sub! ( /^(?:\* ( +)|#+ *)?The following #{ type } gems? (?:are|is) #{ desc } \. \n +(?:(?:(?(1) \1 )\* ( *).*\n )(?:[ \t ]+\* .*\n )*)*\n */ ) do
17+ mark = "#{ $1&.dup &.<< " " } *#{ $2 || ' ' } "
18+ # Parse existing sub-bullets from matched section
19+ sb = { } ; cg = nil
20+ $~. to_s . each_line do |l |
21+ if l =~ /^\* ([A-Za-z0-9_\- ]+)\s /
22+ cg = $1
23+ elsif cg && l =~ /^\s +\* /
24+ ( sb [ cg ] ||= [ ] ) << l
25+ else
26+ cg = nil
27+ end
28+ end
29+ item [ mark , sb ]
30+ end or news . sub! ( /^## Stdlib updates(?:\n +The following.*(?:\n +(?:( *\* *).*|[ \t ]+\* .*))*)* *\n +\K / ) do
1531 item [ $1 || "* " ]
1632 end
1733end
You can’t perform that action at this time.
0 commit comments