module ASF class Person < Base def self.member_nominees return @member_nominees if @member_nominees meetings = ASF::SVN['private/foundation/Meetings'] nominations = Dir["#{meetings}/*/nominated-members.txt"].sort.last.untaint nominations = File.read(nominations).split(/^\s*---+\s*/) nominations.shift(2) nominees = {} nominations.each do |nomination| id = nomination[/^\s?\w+.*<(\S+)@apache.org>/,1] id ||= nomination[/^\s?\w+.*\((\S+)@apache.org\)/,1] id ||= nomination[/^\s?\w+.*\(([a-z]+)\)/,1] next unless id nominees[find(id)] = nomination end @member_nominees = nominees end def member_nomination Person.member_nominees[self] end end end