summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorMichael Fellinger <m.fellinger@gmail.com>2007-12-30 19:38:18 +0100
committerMichael Fellinger <m.fellinger@gmail.com>2007-12-30 19:38:18 +0100
commitd72986caf182355aa9dfefd38356354d4b39a22a (patch)
treea51ebb763deb29b9b821bfff89dcf237b3840583 /lib
parent6c133e310a5d35041360448132c14195515fed17 (diff)
downloadbacon-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.rb8
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