summaryrefslogtreecommitdiffstats
path: root/state.rb
diff options
context:
space:
mode:
authorCasey Dahlin <cdahlin@redhat.com>2008-10-07 12:38:10 -0400
committerCasey Dahlin <cdahlin@redhat.com>2008-10-07 12:38:54 -0400
commit2e8ec39d5747542f2eabec7999ef76576ab5a69d (patch)
tree7facba6d49ca6a01e2272fff386f7258740f163e /state.rb
parent7817ba3ef0c29be88893bacfb863f48b097e031a (diff)
downloadupstate-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.rb6
1 files changed, 5 insertions, 1 deletions
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