From 6cd9888f6fc8bb1e0b6ff11ace8aacb19aedb268 Mon Sep 17 00:00:00 2001 From: Alexis Reigel Date: Wed, 9 Aug 2017 16:43:10 +0200 Subject: store gpg return directory locally --- lib/gitlab/gpg.rb | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'lib/gitlab/gpg.rb') diff --git a/lib/gitlab/gpg.rb b/lib/gitlab/gpg.rb index e1d1724295a..653c56d925b 100644 --- a/lib/gitlab/gpg.rb +++ b/lib/gitlab/gpg.rb @@ -44,19 +44,23 @@ module Gitlab def using_tmp_keychain Dir.mktmpdir do |dir| - @original_dirs ||= [GPGME::Engine.dirinfo('homedir')] - @original_dirs.push(dir) + previous_dir = current_home_dir GPGME::Engine.home_dir = dir return_value = yield - @original_dirs.pop - - GPGME::Engine.home_dir = @original_dirs[-1] + GPGME::Engine.home_dir = previous_dir return_value end end + + # 1. Returns the custom home directory if one has been set by calling + # `GPGME::Engine.home_dir=` + # 2. Returns the default home directory otherwise + def current_home_dir + GPGME::Engine.info.first.home_dir || GPGME::Engine.dirinfo('homedir') + end end end -- cgit v1.2.3