From a7c8b0430f27e41d3584dcf88f20113d3b55d201 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 +++++++++++++ lib/makara/version.rb | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) 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 diff --git a/lib/makara/version.rb b/lib/makara/version.rb index e613ec9a..1b004416 100644 --- a/lib/makara/version.rb +++ b/lib/makara/version.rb @@ -3,7 +3,7 @@ module VERSION MAJOR = 0 MINOR = 4 - PATCH = 0 + PATCH = 1 PRE = nil def self.to_s