diff options
author | (no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-03-22 04:48:57 +0000 |
---|---|---|
committer | (no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-03-22 04:48:57 +0000 |
commit | 7dc80f4f9c42752a6c870cff8a908f283b37cffa (patch) | |
tree | 8d73df58a238e3a123be05e138451e8a6373725d /lib/observer.rb | |
parent | 89646912c2310e46b87d1c028d7960e08e80dbad (diff) |
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
Diffstat (limited to 'lib/observer.rb')
-rw-r--r-- | lib/observer.rb | 46 |
1 files changed, 0 insertions, 46 deletions
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 |