diff options
author | Casey Dahlin <cdahlin@redhat.com> | 2008-10-07 12:38:10 -0400 |
---|---|---|
committer | Casey Dahlin <cdahlin@redhat.com> | 2008-10-07 12:38:54 -0400 |
commit | 2e8ec39d5747542f2eabec7999ef76576ab5a69d (patch) | |
tree | 7facba6d49ca6a01e2272fff386f7258740f163e /state.rb | |
parent | 7817ba3ef0c29be88893bacfb863f48b097e031a (diff) | |
download | upstate-2e8ec39d5747542f2eabec7999ef76576ab5a69d.tar.gz upstate-2e8ec39d5747542f2eabec7999ef76576ab5a69d.tar.xz upstate-2e8ec39d5747542f2eabec7999ef76576ab5a69d.zip |
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.
Diffstat (limited to 'state.rb')
-rw-r--r-- | state.rb | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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 |