class Bundler::EnvironmentPreserver
def self.from_env
def self.from_env new(ENV.to_hash, BUNDLER_KEYS) end
def backup
-
(Hash)
-
def backup env = @original.clone @keys.each do |key| value = env[key] if !value.nil? env[@prefix + key] ||= value else env[@prefix + key] ||= INTENTIONALLY_NIL end end env end
def initialize(env, keys)
-
keys
(Array
) -- -
env
(Hash
) --
def initialize(env, keys) @original = env @keys = keys @prefix = BUNDLER_PREFIX end
def replace_with_backup
def replace_with_backup ENV.replace(backup) end
def restore
-
(Hash)
-
def restore env = @original.clone @keys.each do |key| value_original = env[@prefix + key] next if value_original.nil? if value_original == INTENTIONALLY_NIL env.delete(key) else env[key] = value_original end env.delete(@prefix + key) end env end