We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
#close
1 parent df4d6d1 commit 33d1fafCopy full SHA for 33d1faf
lib/protocol/http/body/completable.rb
@@ -33,12 +33,12 @@ def rewind
33
end
34
35
def close(error = nil)
36
- super.tap do
37
- if @callback
38
- @callback.call(error)
39
- @callback = nil
40
- end
+ if @callback
+ @callback.call(error)
+ @callback = nil
41
+
+ super
42
43
44
test/protocol/http/body/completable.rb
@@ -92,4 +92,18 @@
92
expect(completable.rewind).to be == false
93
94
95
96
+ with "#close" do
97
+ let(:events) {Array.new}
98
+ let(:callback) {Proc.new{events << :close}}
99
100
+ it "invokes callback once" do
101
+ completable1 = subject.new(body, proc{events << :close1})
102
+ completable2 = subject.new(completable1, proc{events << :close2})
103
104
+ completable2.close
105
106
+ expect(events).to be == [:close2, :close1]
107
+ end
108
109
0 commit comments