diff options
author | Michael Fellinger <m.fellinger@gmail.com> | 2007-12-30 19:38:18 +0100 |
---|---|---|
committer | Michael Fellinger <m.fellinger@gmail.com> | 2007-12-30 19:38:18 +0100 |
commit | d72986caf182355aa9dfefd38356354d4b39a22a (patch) | |
tree | a51ebb763deb29b9b821bfff89dcf237b3840583 /lib | |
parent | 6c133e310a5d35041360448132c14195515fed17 (diff) | |
download | bacon-d72986caf182355aa9dfefd38356354d4b39a22a.tar.gz bacon-d72986caf182355aa9dfefd38356354d4b39a22a.tar.xz bacon-d72986caf182355aa9dfefd38356354d4b39a22a.zip |
Adding Proc#change? to check for changes on repeated calling of proc.
darcs-hash:20071230183818-cbc08-cab1d5073d8c53768b97d1b7489202a936ea5ef7.gz
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bacon.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/bacon.rb b/lib/bacon.rb index 48b76b2..dfc45e2 100644 --- a/lib/bacon.rb +++ b/lib/bacon.rb @@ -165,6 +165,7 @@ module Bacon def raise?(*args, &block); block.raise?(*args); end def throw?(*args, &block); block.throw?(*args); end + def change?(*args, &block); block.change?(*args); end end end @@ -206,6 +207,13 @@ class Proc } return true end + + def change? + pre_result = yield + called = call + post_result = yield + pre_result != post_result + end end class Numeric |