X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/4dd469c1bd4c1f4a2edac6c2d63bc571e874aa3f..a77093bdb8cbbba6860bdda67da4d19ad3ac5a0c:/services/api/lib/current_api_client.rb diff --git a/services/api/lib/current_api_client.rb b/services/api/lib/current_api_client.rb index 6d85212eb9..4c26010d2a 100644 --- a/services/api/lib/current_api_client.rb +++ b/services/api/lib/current_api_client.rb @@ -100,18 +100,24 @@ module CurrentApiClient def act_as_system_user if block_given? - user_was = Thread.current[:user] - Thread.current[:user] = system_user - begin + act_as_user system_user do yield - ensure - Thread.current[:user] = user_was end else Thread.current[:user] = system_user end end + def act_as_user user + user_was = Thread.current[:user] + Thread.current[:user] = user + begin + yield + ensure + Thread.current[:user] = user_was + end + end + def anonymous_group if not $anonymous_group act_as_system_user do