diff options
author | Nobuyoshi Nakada <[email protected]> | 2019-06-28 14:23:22 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2019-06-28 14:23:32 +0900 |
commit | 2d1728b9cede877ac45f5760ebf214d25685b285 (patch) | |
tree | 4b685afde741dfaa359b3c7e34e025c649194f9f | |
parent | 951f80f2dde2f22eab3acf53101e4c912cb60bb2 (diff) |
Moved Singleton.instance to get rid of redefinition
-rw-r--r-- | lib/singleton.rb | 17 |
1 files 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 |