pub-sub 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/pub_sub/configuration.rb +45 -0
  3. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ed444b4579a166b1af16dbd99273854500ba3d9f8a6ea73ed09e8f76ae9bb35b
4
- data.tar.gz: 86168290f13ad6afa0f88e4954b7763e9f0574c157753148746a2c11363d51a7
3
+ metadata.gz: cb908098d16458af3705fe055544e14da2f80f4a43fbcb599404589cc1b91403
4
+ data.tar.gz: 786dcf8e474e64f25ee9dc4eea3bf25987e7f196aaa6722a4b6f7bc7a25e3b6a
5
5
  SHA512:
6
- metadata.gz: 224697ecf57f15daa47f2908686086ee7ba8b255f34669dc930dc7ba48ac5940a197a48fcb33fe9d4e8edc66fc7123d60f9efbd8a63ace4761f134ff080eddc7
7
- data.tar.gz: 893a1b16b952d73315dfd7fce4018571308e397534700bac0529a8688819e970110de82e87907afcadafbef6e24acf0545cb8c3ed73384fe57dec7affcb4dda0
6
+ metadata.gz: de32890b8dfb6f2ea8519e9550d03df483d35cc9f3f0ad9b4dd03f3bfe66076abf83f6fbb64462574f9c4b101d5fdae349966fe9bc6358de0d161e65d045b649
7
+ data.tar.gz: f8aaa20ca1421c2ee8482d4a8ed7a9af33252f718929b5cead527d88bf8bc48888d3d931ea766d301b4a4cf985e26d35efa04436b95b5b61b4c93e5cec78c0d9
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+ require 'singleton'
3
+
4
+ require 'pub_sub/container'
5
+ require 'pub_sub/hash'
6
+ require 'pub_sub/publisher'
7
+ require 'pub_sub/subscriber'
8
+
9
+ module PubSub
10
+ class Configuration
11
+ private_class_method :new
12
+ attr_reader :container
13
+
14
+ @@singleton__instance = nil
15
+ @@singleton__mutex = Mutex.new
16
+
17
+ class << self
18
+ def init(container = ::PubSub::Hash)
19
+ this(container)
20
+ end
21
+
22
+ def this(container = ::PubSub::Hash)
23
+ return @@singleton__instance if @@singleton__instance
24
+
25
+ @@singleton__mutex.synchronize do
26
+ return @@singleton__instance if @@singleton__instance
27
+
28
+ @@singleton__instance = new(container)
29
+ end
30
+ @@singleton__instance
31
+ end
32
+
33
+ def container
34
+ this.container
35
+ end
36
+ end
37
+
38
+ private
39
+
40
+ def initialize(container)
41
+ @container = container.new
42
+ end
43
+ end
44
+ end
45
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pub-sub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Saltykov
@@ -15,7 +15,8 @@ email:
15
15
  executables: []
16
16
  extensions: []
17
17
  extra_rdoc_files: []
18
- files: []
18
+ files:
19
+ - lib/pub_sub/configuration.rb
19
20
  homepage: https://github.com/nucleom42/pub-sub
20
21
  licenses:
21
22
  - MIT