diff options
author | 🙈 jacopo beschi 🙉 <intrip@gmail.com> | 2018-04-18 09:19:40 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-04-18 09:19:40 +0000 |
commit | c6b1043e9d1b7fe9912c330b6e7d4342f2a9694e (patch) | |
tree | 45c3fd39c83122eb602f217501924bc8d6899987 /lib/gitlab/optimistic_locking.rb | |
parent | 3529ccae9e3a484da5a4fba32bfdf0317f289363 (diff) | |
download | gitlab-ce-c6b1043e9d1b7fe9912c330b6e7d4342f2a9694e.tar.gz |
Resolve "Make a Rubocop that forbids returning from a block"
Diffstat (limited to 'lib/gitlab/optimistic_locking.rb')
-rw-r--r-- | lib/gitlab/optimistic_locking.rb | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/lib/gitlab/optimistic_locking.rb b/lib/gitlab/optimistic_locking.rb index 1d9a5d1a20a..d09bce642b0 100644 --- a/lib/gitlab/optimistic_locking.rb +++ b/lib/gitlab/optimistic_locking.rb @@ -3,18 +3,15 @@ module Gitlab module_function def retry_lock(subject, retries = 100, &block) - loop do - begin - ActiveRecord::Base.transaction do - return yield(subject) - end - rescue ActiveRecord::StaleObjectError - retries -= 1 - raise unless retries >= 0 - - subject.reload - end + ActiveRecord::Base.transaction do + yield(subject) end + rescue ActiveRecord::StaleObjectError + retries -= 1 + raise unless retries >= 0 + + subject.reload + retry end alias_method :retry_optimistic_lock, :retry_lock |