diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-09-05 08:29:52 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-09-05 08:29:52 +0000 |
commit | 48653d5ef0ed47469d64170d70c8c2a9f21f159e () | |
tree | df86f2bf64022459acef5eea33442fb3d3ebcc27 /lib/observer.rb | |
parent | f5ac36f1a3e484464d13a115bd92fa9904215201 (diff) |
* lib/ostruct.rb: a from Florian Gross <[email protected]>
merged to allow recursive inspect (and to_s) for OpenStruct. [ruby-core:05532] * lib/observer.rb: a from nornagon <[email protected]> merged to allow arbitrary names for update methods. [ruby-core:05416] * eval.c (rb_f_fcall): new method to avoid inefficiency of obj.instance_eval{send(...)} tricks. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | lib/observer.rb | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -118,14 +118,15 @@ module Observable # # Add +observer+ as an observer on this object. +observer+ will now receive - # notifications. # - def add_observer(observer) - @observer_peers = [] unless defined? @observer_peers - unless observer.respond_to? :update - raise NoMethodError, "observer needs to respond to `update'" end - @observer_peers.push observer end # @@ -181,9 +182,9 @@ module Observable 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 |