core-global 0.0.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f227f1ec22cfa182eddcae586000e2c402a9186ff16bed50706047f698053b2d
4
- data.tar.gz: 2388109d4402a3dd6a85e3624a1f43b6e0afa9be305287a2698c5ed93958c50c
3
+ metadata.gz: 9ba04c98482953bcff1570c1b5e7ae7c837cdc2ef6d03a9b8821d5845423e5c0
4
+ data.tar.gz: f254547dad6d3627e8a17ad7c3edef898f33c4743e9b669b13448727bc61f267
5
5
  SHA512:
6
- metadata.gz: 8ebe6500d6d167b0034afb4861609cd576e9c3ac3b769e0b7fcc3a627cc15d4e6c1f89a5444eee595d6ecf586293a315604293b60c0a446ae2c32467f752c5db
7
- data.tar.gz: 62719b2f0ac50d2a5cb7030b34f17aafd87b4893d6f87ff2c90de5deea9ab035266594c13d56e64346ec78d2591d9a5d8a4a69552fffb33dd00b5bcc267781ec
6
+ metadata.gz: dae07b7348a022b5a3e57ca99154fff78ad9544ba372ba1346a4c434fa691b11a717aeac00f64f72dde37e5546eb1df189f170c4ded0244a8b08001620c186db
7
+ data.tar.gz: 1215a0b83d07b88cf73e63128e1ee967859c27fd8468a21d4fdbc15c69d511c03079073659a52289e7ca4356cecf167e330518ce01e04add2fb4766c3bc3aa15
data/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## [v0.1.2](https://github.com/metabahn/corerb/releases/tag/2021-11-02)
2
+
3
+ *released on 2021-11-02*
4
+
5
+ * `chg` [#97](https://github.com/metabahn/corerb/pull/97) Designate internal state with leading and trailing double underscores ([bryanp](https://github.com/bryanp))
6
+
7
+ ## [v0.1.0](https://github.com/metabahn/corerb/releases/tag/2021-07-07)
8
+
9
+ *released on 2021-07-07*
10
+
11
+ * `chg` [#41](https://github.com/metabahn/corerb/pull/41) Drop Ruby 2.6 support from core-global ([bryanp](https://github.com/bryanp))
12
+
13
+ ## [v0.0.2](https://github.com/metabahn/corerb/releases/tag/2021-06-01.1)
14
+
15
+ *released on 2021-06-01*
16
+
17
+ * `fix` [#36](https://github.com/metabahn/corerb/pull/36) Allow globalization of basic objects ([bryanp](https://github.com/bryanp))
18
+
1
19
  ## [v0.0.1](https://github.com/metabahn/corerb/releases/tag/2021-06-01)
2
20
 
3
21
  *released on 2021-06-01*
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Core
4
4
  module Global
5
- VERSION = "0.0.1"
5
+ VERSION = "0.1.2"
6
6
 
7
7
  def self.version
8
8
  VERSION
data/lib/is/global.rb CHANGED
@@ -10,17 +10,17 @@ module Is
10
10
  module Global
11
11
  extend Is::Extension
12
12
 
13
- extends :class do
13
+ extends :definition do
14
14
  # [public] Return the current global instance.
15
15
  #
16
16
  def global
17
- @__global ||= new
17
+ @__global__ ||= new
18
18
  end
19
19
 
20
20
  # [public] Reset the global instance.
21
21
  #
22
22
  def reset
23
- remove_instance_variable(:@__global) if defined?(@__global)
23
+ remove_instance_variable(:@__global__) if defined?(@__global__)
24
24
  end
25
25
 
26
26
  def finalize
@@ -28,33 +28,37 @@ module Is
28
28
  end
29
29
  end
30
30
 
31
- extends :class, prepend: true do
31
+ extends :definition, prepend: true do
32
32
  def method_added(name)
33
- if instance_variable_defined?(:@__finalized)
34
- remove_instance_variable(:@__finalized)
33
+ if instance_variable_defined?(:@__finalized__)
34
+ remove_instance_variable(:@__finalized__)
35
35
  end
36
36
 
37
37
  super
38
38
  end
39
39
 
40
40
  def method_missing(name, *args, &block)
41
- unless defined?(@__finalized)
41
+ unless defined?(@__finalized__)
42
42
  finalize
43
43
  end
44
44
 
45
- global.public_send(name, *args, &block)
45
+ if public_method_defined?(name)
46
+ global.__send__(name, *args, &block)
47
+ else
48
+ super
49
+ end
46
50
  end
47
51
 
48
52
  if Module.private_method_defined?(:ruby2_keywords)
49
53
  ruby2_keywords(:method_missing)
50
54
  end
51
55
 
52
- def respond_to_missing?(*args)
53
- global.respond_to_missing?(*args)
56
+ def respond_to_missing?(name, *)
57
+ public_method_defined?(name) || super
54
58
  end
55
59
  end
56
60
 
57
- applied do
61
+ applies do
58
62
  singleton_class.extend(Forwardable)
59
63
  end
60
64
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: core-global
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan Powell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-01 00:00:00.000000000 Z
11
+ date: 2021-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: core-extension
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.0'
19
+ version: '0.3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.0'
26
+ version: '0.3'
27
27
  description: Patterns for responsible global state.
28
28
  email: bryan@metabahn.com
29
29
  executables: []
@@ -47,14 +47,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
47
47
  requirements:
48
48
  - - ">="
49
49
  - !ruby/object:Gem::Version
50
- version: 2.6.7
50
+ version: '2.7'
51
51
  required_rubygems_version: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - ">="
54
54
  - !ruby/object:Gem::Version
55
55
  version: '0'
56
56
  requirements: []
57
- rubygems_version: 3.2.15
57
+ rubygems_version: 3.2.22
58
58
  signing_key:
59
59
  specification_version: 4
60
60
  summary: Patterns for responsible global state.