From df043e60d8f1480845f6c10db21dcfa3b6088030 Mon Sep 17 00:00:00 2001 From: brainopia Date: Sun, 22 Jan 2012 08:57:09 +0400 Subject: [PATCH] Simplify Foreman::Process#with_environment --- lib/foreman/process.rb | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/foreman/process.rb b/lib/foreman/process.rb index ac929fa..e37bc17 100644 --- a/lib/foreman/process.rb +++ b/lib/foreman/process.rb @@ -59,12 +59,11 @@ private end def with_environment(environment) - old_env = ENV.each_pair.inject({}) { |h,(k,v)| h.update(k => v) } - environment.each { |k,v| ENV[k] = v } - ret = yield - ENV.clear - old_env.each { |k,v| ENV[k] = v} - ret + original = ENV.to_hash + ENV.update environment + yield + ensure + ENV.replace original end end