Commit a06bc70ace41991c9d1ba77d4b2bdcf4ed102c1a:
Docs
Branch: refs/heads/master
Author: Sebb <[email protected]>
Committer: Sebb <[email protected]>
Pusher: sebb <[email protected]>
------------------------------------------------------------
www/roster/public_member_info.rb | ++++++++ -
------------------------------------------------------------
31 changes: 30 additions, 1 deletions.
------------------------------------------------------------
diff --git a/www/roster/public_member_info.rb b/www/roster/public_member_info.rb
index 2707650..afefa4d 100644
--- a/www/roster/public_member_info.rb
+++ b/www/roster/public_member_info.rb
@@ -1,3 +1,25 @@
+# Public member data
+#
+# Output looks like:
+#
+# {
+# "last_updated": "2015-11-29 23:45:50 UTC", // date of members.txt
+# "gem_version": "0.0.75",
+# "code_version": "2016-02-02 17:20:38 UTC",
+# "members": [
+# "m1",
+# "m2",
+# ...
+# ],
+# "ex_members": {
+# "e1": "Emeritus (Non-voting) Member",
+# "e2": "Deceased Member",
+# ...
+# }
+# }
+#
+#
+#
require 'bundler/setup'
require 'json'
@@ -28,9 +50,15 @@
# gather member info
-info = {last_updated: (ASF::Member.svn_change rescue nil) , gem_version:
GEMVERSION, code_version: CODEVERSION}
+info = {
+ last_updated: (ASF::Member.svn_change rescue nil),
+ gem_version: GEMVERSION,
+ code_version: CODEVERSION
+}
+
info[:members] = Array.new
info[:ex_members] = Hash.new
+
ASF::Member.list.each do |e,v|
s = v['status']
if s == nil
@@ -43,5 +71,6 @@
# output results (the JSON module does not support sorting, so we pre-sort and
rely on insertion order preservation)
info[:members].sort!
info[:ex_members] = Hash[info[:ex_members].sort]
+
output.puts JSON.pretty_generate(info)
output.close