summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-06-28 14:23:22 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-06-28 14:23:32 +0900
commit2d1728b9cede877ac45f5760ebf214d25685b285 (patch)
tree4b685afde741dfaa359b3c7e34e025c649194f9f /lib
parent951f80f2dde2f22eab3acf53101e4c912cb60bb2 (diff)
Moved Singleton.instance to get rid of redefinition
Diffstat (limited to 'lib')
-rw-r--r--lib/singleton.rb17
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