core-global 0.0.0 → 0.1.1

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: 5e10aa803e80d134b52ff4e7fb1fd46361d19611bd3e3b924a8d8f5831de1603
4
- data.tar.gz: 2dffdef614b59d87857e9e20f2714c4f91f7422b52361ecfc194f6a6b3ea9fe3
3
+ metadata.gz: 5d6a31947d76402cafe2a513d54abe802319d10682b7b709a3904482ba2de740
4
+ data.tar.gz: 2baf7c3ef3dc403a96a18654f12ac42ad60438bcb863c946fd15ec909d4b611e
5
5
  SHA512:
6
- metadata.gz: 4fb956068a106d07d3005c881a9356d7d3dd425c09f6c28c3fa5c3bdddf262eed9003b9fb2a5b1ab09440afa78c4459a7b62bff889082971d473420cb27498b4
7
- data.tar.gz: 7ace62e97585984ef2d64d336232f4eaee7e21531b2976732584a5c7b7d8fb6d54284a8a2e4d0d470541efaa3defac5881810746e0cddb53c0e5591e374c0af8
6
+ metadata.gz: 70c500138980babb65272f2890b857f5f2919b788c2b071894b63daa3b0f1984f7aa643941b255be3cc302d3112e2eaf3072b46ecc6ad3455ed39e9c96c8589f
7
+ data.tar.gz: 3b00aa384002de6cc70515ebf224d7aad0258d8d2aca3a3ef7bcc8b76949bd26799d152e0a0827435ca1d06d568252b3f55b4848f3c96bcc16e4816dab0f2cdc
data/CHANGELOG.md CHANGED
@@ -1,3 +1,21 @@
1
+ ## [v0.1.0](https://github.com/metabahn/corerb/releases/tag/2021-07-07)
2
+
3
+ *released on 2021-07-07*
4
+
5
+ * `chg` [#41](https://github.com/metabahn/corerb/pull/41) Drop Ruby 2.6 support from core-global ([bryanp](https://github.com/bryanp))
6
+
7
+ ## [v0.0.2](https://github.com/metabahn/corerb/releases/tag/2021-06-01.1)
8
+
9
+ *released on 2021-06-01*
10
+
11
+ * `fix` [#36](https://github.com/metabahn/corerb/pull/36) Allow globalization of basic objects ([bryanp](https://github.com/bryanp))
12
+
13
+ ## [v0.0.1](https://github.com/metabahn/corerb/releases/tag/2021-06-01)
14
+
15
+ *released on 2021-06-01*
16
+
17
+ * `fix` [#35](https://github.com/metabahn/corerb/pull/35) Correctly delegate method_missing in global instances ([bryanp](https://github.com/bryanp))
18
+
1
19
  ## [v0.0.0](https://github.com/metabahn/corerb/releases/tag/2021-02-10)
2
20
 
3
21
  *released on 2021-02-10*
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Core
4
4
  module Global
5
- VERSION = "0.0.0"
5
+ VERSION = "0.1.1"
6
6
 
7
7
  def self.version
8
8
  VERSION
data/lib/is/global.rb CHANGED
@@ -10,7 +10,7 @@ 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
@@ -28,12 +28,22 @@ module Is
28
28
  end
29
29
  end
30
30
 
31
- extends :class, prepend: true do
31
+ extends :definition, prepend: true do
32
+ def method_added(name)
33
+ if instance_variable_defined?(:@__finalized)
34
+ remove_instance_variable(:@__finalized)
35
+ end
36
+
37
+ super
38
+ end
39
+
32
40
  def method_missing(name, *args, &block)
33
- if public_instance_methods(false).include?(name)
41
+ unless defined?(@__finalized)
34
42
  finalize
43
+ end
35
44
 
36
- global.public_send(name, *args, &block)
45
+ if public_method_defined?(name)
46
+ global.__send__(name, *args, &block)
37
47
  else
38
48
  super
39
49
  end
@@ -44,11 +54,11 @@ module Is
44
54
  end
45
55
 
46
56
  def respond_to_missing?(name, *)
47
- public_instance_methods(false).include?(name) || super
57
+ public_method_defined?(name) || super
48
58
  end
49
59
  end
50
60
 
51
- applied do
61
+ applies do
52
62
  singleton_class.extend(Forwardable)
53
63
  end
54
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.0
4
+ version: 0.1.1
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-02-10 00:00:00.000000000 Z
11
+ date: 2021-07-15 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.5.0
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.4
57
+ rubygems_version: 3.2.15
58
58
  signing_key:
59
59
  specification_version: 4
60
60
  summary: Patterns for responsible global state.