Commit 76d580d72468070280032ef462684859530b6ae6:
make nominees list eligable for GC
Branch: refs/heads/master
Author: Sam Ruby <[email protected]>
Committer: Sam Ruby <[email protected]>
Pusher: rubys <[email protected]>
------------------------------------------------------------
lib/whimsy/asf/nominees.rb | ++++++++ --
------------------------------------------------------------
10 changes: 8 additions, 2 deletions.
------------------------------------------------------------
diff --git a/lib/whimsy/asf/nominees.rb b/lib/whimsy/asf/nominees.rb
index da78259..89e478b 100644
--- a/lib/whimsy/asf/nominees.rb
+++ b/lib/whimsy/asf/nominees.rb
@@ -1,9 +1,14 @@
+require 'weakref'
+
module ASF
class Person < Base
def self.member_nominees
- return @member_nominees if @member_nominees
+ begin
+ return Hash[@member_nominees.to_a] if @member_nominees
+ rescue NoMethodError, WeakRef::RefError
+ end
meetings = ASF::SVN['private/foundation/Meetings']
nominations =
Dir["#{meetings}/*/nominated-members.txt"].sort.last.untaint
@@ -22,7 +27,8 @@ def self.member_nominees
nominees[find(id)] = nomination
end
- @member_nominees = nominees
+ @member_nominees = WeakRef.new(nominees)
+ nominees
end
def member_nomination