From 2e8ec39d5747542f2eabec7999ef76576ab5a69d Mon Sep 17 00:00:00 2001 From: Casey Dahlin Date: Tue, 7 Oct 2008 12:38:10 -0400 Subject: State#hold and State#release now return self State#hold and State#release now return the receiver. Also, State#release no longer calls a nonexistent method on the hold set. --- state.rb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/state.rb b/state.rb index ea3ace5..1c6d09e 100644 --- a/state.rb +++ b/state.rb @@ -103,8 +103,10 @@ class State hold = Hold::User.new if hold == :user hold = Hold::System.new if hold == :system raise TypeError unless hold.is_a? Hold + trace "#{self} being held with #{hold}" @holds.add hold rise if @holds.size == 1 + self end # Release a hold on this state. Arguments are the same as for +hold+. @@ -113,8 +115,10 @@ class State hold = Hold::User.new if hold == :user hold = Hold::System.new if hold == :system raise TypeError unless hold.is_a? Hold - @holds.remove hold + trace "#{self} being released from #{hold}" + @holds.delete hold drop if @holds.size == 0 + self end # Set this state to untrue -- cgit