From 01d2ada3e12710ea784b370fc3266c46480b2fc4 Mon Sep 17 00:00:00 2001 From: Konstantin Gredeskoul Date: Tue, 12 Jun 2018 20:09:29 -0700 Subject: [PATCH] Adding with_master and release_master! helpers. --- .gitignore | 1 + lib/makara/proxy.rb | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/.gitignore b/.gitignore index d930387d..a6de7d5d 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ spec/reports test/tmp test/version_tmp tmp +.idea/ diff --git a/lib/makara/proxy.rb b/lib/makara/proxy.rb index e3e661fb..d4f582b0 100644 --- a/lib/makara/proxy.rb +++ b/lib/makara/proxy.rb @@ -76,6 +76,19 @@ def stick_to_master!(persist = true) Makara::Context.stick(@id, stickiness_duration) end + def with_master + stick_to_master! + yield if block_given? + ensure + release_master! + end + + def release_master! + if stuck_to_master? + Makara::Context.release(@id) + end + end + def strategy_for(role) strategy_class_for(strategy_name_for(role)).new(self) end