Skip to content

Instantly share code, notes, and snippets.

@hsbt
Created December 12, 2011 01:29
Show Gist options
  • Save hsbt/1464079 to your computer and use it in GitHub Desktop.
Save hsbt/1464079 to your computer and use it in GitHub Desktop.
def scoped_env(env)
old = {}
ENV.each {|k,v| old[k] = v}
env.each {|k,v| ENV[k] = v}
yield
old.each {|k,v| ENV[k] = v}
end
ENV['foo'] = 'buzz'
p ENV['foo']
scoped_env 'foo' =>'bar' do
p ENV['foo']
end
p ENV['foo']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment