method

with

Importance_1
Ruby on Rails latest stable (v7.1.3.2) - 0 notes - 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.

Show source
Register or log in to add new notes.