From d72986caf182355aa9dfefd38356354d4b39a22a Mon Sep 17 00:00:00 2001 From: Michael Fellinger Date: Sun, 30 Dec 2007 19:38:18 +0100 Subject: Adding Proc#change? to check for changes on repeated calling of proc. darcs-hash:20071230183818-cbc08-cab1d5073d8c53768b97d1b7489202a936ea5ef7.gz --- lib/bacon.rb | 8 ++++++++ 1 file changed, 8 insertions(+) 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 -- cgit 1.4.1