method
with
v7.1.3.4 -
Show latest stable
- Class:
Object
with(**attributes)public
Set and restore public attributes around a block.
client.timeout # => 5 client.with(timeout: 1) do client.timeout # => 1 end client.timeout # => 5
This method is a shorthand for the common begin/ensure pattern:
old_value = object.attribute begin object.attribute = new_value # do things ensure object.attribute = old_value end
It can be used on any object as long as both the reader and writer methods are public.