This is important for tools like VCR that use global stubs for more than just returning a stubbed response--for consistency, it needs to always have the stub block invoked so it can manage before/after request hooks.
Previously, the httpclient and typhoeus adapters would use different
request_signature instances for the global_stub hook and the
after_requets hook. Using the same instance makes it more consistent and
enables a new VCR feature.
Weirdly, it appears that on 1.8.7, Array#delete will return the object you pass to it rather than the object in the array!
O = Struct.new(:a, :b)
i1, i2 = O.new(3, 5), O.new(3, 5)
list = [i1]
deleted = list.delete(i2)
deleted.equal?(i1) # => true on 1.9.2, false on 1.8.7
deleted.equal?(i2) # => false on 1.9.2, true on 1.8.7