Method: DynamicVariable#with

Defined in:
lib/dynamic_variable.rb

#with(*pairs) ⇒ Object

with {}

varible defaults to :value
value defaults to nil

with(value) { block }

variable defaults to :value

with(variable, value) { block }

with(variable_1, value_1, …, variable_n_1, value_n_1, value_n) { block }

variable_n defaults to :value

with(variable_1, value_1, …, variable_n, value_n) { block }



39
40
41
42
43
44
45
46
47
# File 'lib/dynamic_variable.rb', line 39

def with(*pairs)
  pairs = [nil] if pairs.empty?
  push_pairs(pairs)
  begin
    yield(self)
  ensure
    pop_pairs(pairs)
  end
end