Method: Dotenv#modify
- Defined in:
- lib/dotenv.rb
#modify(env = {}, &block) ⇒ Object
Modify ENV for the block and restore it to its previous state afterwards.
Note that the block is synchronized to prevent concurrent modifications to ENV, so multiple threads will be executed serially.
116 117 118 119 120 121 122 123 124 |
# File 'lib/dotenv.rb', line 116 def modify(env = {}, &block) SEMAPHORE.synchronize do diff = Dotenv::Diff.new update(env, overwrite: true) block.call ensure restore(diff.a, safe: true) end end |