Well, the relevant code [1] is not included in the roster memstat code. So 
using roster, moving members from/to Active/Emeritus does not result in proper 
counts or having the entry in the proper place in the members.txt file.

So where does this code belong? It should probably live in a library file 
somewhere. Perhaps in whimsy/lib/whimsy/asf/members.rb in the Person class?

Craig

[1]
# update members.txt
pattern = /^Active.*?^=+\n+(.*?)^Emeritus/m
members_txt = open(dest).read
data = members_txt.scan(pattern).flatten.first
members = data.split(/^\s+\*\)\s+/)
members.shift
members.push @entry
members_txt[pattern,1] = " *) " + members.join("\n *) ")
members_txt[/We now number (\d+) active members\./,1] = members.length.to_s
File.write(dest, ASF::Member.sort(members_txt))

> On Jul 10, 2020, at 8:37 PM, Craig Russell <apache....@gmail.com> wrote:
> 
> Cool. So how does this code get called from memstat.json.rb?
> 
>> On Jul 10, 2020, at 2:53 PM, Sam Ruby <ru...@intertwingly.net 
>> <mailto:ru...@intertwingly.net>> wrote:
>> 
>> On Fri, Jul 10, 2020 at 5:34 PM Craig Russell <apache....@gmail.com 
>> <mailto:apache....@gmail.com>> wrote:
>>> 
>>> I cannot find where the magic happens that updates the active member count 
>>> in members.txt.
>>> 
>>> When moving from active to emeritus:
>>>      index = text.index(/^\s\*\)\s/, text.index(/^Emeritus/))
>>> 
>>> When moving from emeritus to active:
>>>      index = text.index(/^\s\*\)\s/, text.index(/^Active/))
>>> 
>>> When moving from active to deceased:
>>>      index = text.index(/^\s\*\)\s/, text.index(/^Deceased/))
>>> 
>>> And then, adding the entry back:
>>>    text.insert index, entry
>> 
>> https://github.com/apache/whimsy/blob/d0aa149dae6b02373ec5df020a4e042149bc745e/www/secretary/workbench/views/actions/memapp.json.rb#L104-L105
>>  
>> <https://github.com/apache/whimsy/blob/d0aa149dae6b02373ec5df020a4e042149bc745e/www/secretary/workbench/views/actions/memapp.json.rb#L104-L105>
>> 
>> I highlighted two lines.  The first will update the membership count.
>> The second will sort member names.
>> 
>>> Craig L Russell
>>> c...@apache.org <mailto:c...@apache.org>
>> 
>> - Sam Ruby
> 
> Craig L Russell
> c...@apache.org <mailto:c...@apache.org>
> 

Craig L Russell
c...@apache.org

Reply via email to