module EacRubyUtils::Ruby
Public Class Methods
on_clean_environment() { || ... }
click to toggle source
Executes a block in an environment when the variables BUNDLE* and RUBY* are removed.
# File lib/eac_ruby_utils/ruby/on_clean_environment.rb, line 7 def on_clean_environment on_clean_envvars('BUNDLE', 'RUBY') { yield } end
Private Class Methods
envvars_starting_with(start_with_vars)
click to toggle source
# File lib/eac_ruby_utils/ruby/on_clean_environment.rb, line 21 def envvars_starting_with(start_with_vars) ENV.select { |k, _v| start_with_vars.any? { |var| k.start_with?(var) } } end
on_clean_envvars(*start_with_vars) { || ... }
click to toggle source
# File lib/eac_ruby_utils/ruby/on_clean_environment.rb, line 13 def on_clean_envvars(*start_with_vars) old_values = envvars_starting_with(start_with_vars) old_values.keys.each { |k| ENV.delete(k) } yield ensure old_values&.each { |k, v| ENV[k] = v } end