]> git.cworth.org Git - sup/blob - lib/sup/update.rb
make >From thing work correctly
[sup] / lib / sup / update.rb
1 module Redwood
2
3 class UpdateManager
4   include Singleton
5
6   def initialize
7     @targets = {}
8     self.class.i_am_the_instance self
9   end
10
11   def register o; @targets[o] = true; end
12   def unregister o; @targets.delete o; end
13
14   def relay sender, type, *args
15     meth = "handle_#{type}_update".intern
16     @targets.keys.each { |o| o.send meth, sender, *args unless o == sender if o.respond_to? meth }
17   end
18 end
19
20 end