From 7dc80f4f9c42752a6c870cff8a908f283b37cffa Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> Date: Fri, 22 Mar 2002 04:48:57 +0000 Subject: This commit was manufactured by cvs2svn to create branch 'SHIGEO'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/SHIGEO@2245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/observer.rb | 46 ---------------------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 lib/observer.rb (limited to 'lib/observer.rb') diff --git a/lib/observer.rb b/lib/observer.rb deleted file mode 100644 index e1b249e885..0000000000 --- a/lib/observer.rb +++ /dev/null @@ -1,46 +0,0 @@ -# Observable Mixin -# -# Observers must respond to update - -module Observable - def add_observer(observer) - @observer_peers = [] unless defined? @observer_peers - unless observer.respond_to? :update - raise NameError, "observer needs to respond to `update'" - end - @observer_peers.push observer - end - def delete_observer(observer) - @observer_peers.delete observer if defined? @observer_peers - end - def delete_observers - @observer_peers.clear if defined? @observer_peers - end - def count_observers - if defined? @observer_peers - @observer_peers.size - else - 0 - end - end - def changed(state=true) - @observer_state = state - end - def changed? - if defined? @observer_state and @observer_state - true - else - false - end - end - def notify_observers(*arg) - if defined? @observer_state and @observer_state - if defined? @observer_peers - for i in @observer_peers.dup - i.update(*arg) - end - end - @observer_state = false - end - end -end -- cgit v1.2.3