/tools/Ruby/lib/ruby/1.8/drb/observer.rb

http://github.com/agross/netopenspace · Ruby · 22 lines · 20 code · 2 blank · 0 comment · 3 complexity · 687cac66aa82a14b71d7e53492fca042 MD5 · raw file

  1. require 'observer'
  2. module DRb
  3. module DRbObservable
  4. include Observable
  5. def notify_observers(*arg)
  6. if defined? @observer_state and @observer_state
  7. if defined? @observer_peers
  8. for i in @observer_peers.dup
  9. begin
  10. i.update(*arg)
  11. rescue
  12. delete_observer(i)
  13. end
  14. end
  15. end
  16. @observer_state = false
  17. end
  18. end
  19. end
  20. end