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 | |
| 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.
| -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 |
