Мне нужно отключить процесс, установив для него переменную окружения. Я попробовал этот однострочный лайнер:
system "RBENV_VERSION=system ruby extconf.rb"
Этот синтаксис работает в оболочке script, но не из ruby. (Обновление:), этот синтаксис работает от ruby в конце концов, но я не смог увидеть его эффект из-за моего конкретного случая использования.)
Итак, я делаю это:
rbenv_version = ENV['RBENV_VERSION']
ENV['RBENV_VERSION'] = 'system'
begin
system "ruby extconf.rb"
ensure
ENV['RBENV_VERSION'] = rbenv_version
end
Я вынужден к такому длинному выражению, потому что я не хочу постоянно переопределять переменную среды, если она уже имеет значение.
Что-нибудь короче, что приходит вам на ум?