core-global 0.0.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.