From 2d1728b9cede877ac45f5760ebf214d25685b285 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Fri, 28 Jun 2019 14:23:22 +0900 Subject: [PATCH] Moved Singleton.instance to get rid of redefinition --- lib/singleton.rb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/singleton.rb b/lib/singleton.rb index 368febc74d..b433208e01 100644 --- a/lib/singleton.rb +++ b/lib/singleton.rb @@ -120,6 +120,15 @@ module Singleton instance end + def instance # :nodoc: + return @singleton__instance__ if @singleton__instance__ + @singleton__mutex__.synchronize { + return @singleton__instance__ if @singleton__instance__ + @singleton__instance__ = new() + } + @singleton__instance__ + end + private def inherited(sub_klass) @@ -134,14 +143,6 @@ module Singleton @singleton__instance__ = nil @singleton__mutex__ = Thread::Mutex.new } - def klass.instance # :nodoc: - return @singleton__instance__ if @singleton__instance__ - @singleton__mutex__.synchronize { - return @singleton__instance__ if @singleton__instance__ - @singleton__instance__ = new() - } - @singleton__instance__ - end klass end