evt-subst_attr 1.0.0.0 → 1.1.0.0

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: '034905032837760f191110505c6490ace80dbd4827c2feb73ebc15f7912389c9'
4
- data.tar.gz: bd449f74635db00b315089845aa8e7b911c76771fe20d4515b5b132fec959738
3
+ metadata.gz: 42603a7614fbd6047c77ee937d73a2d462ec87192ed4d2b1d2ef356df5adbd15
4
+ data.tar.gz: 9a4b998e932db14cb527dbc50b05465e468fe09a09fc714f076d0f21356ece92
5
5
  SHA512:
6
- metadata.gz: ddfea170c63a61c38ef77040ad402aeb47078d16abd6ba42c17a8a2172ed47e42e7895bc6e675d9fd8319042eec89d163d34fa1e1789491187a90eaf90f55813
7
- data.tar.gz: e806d83737e64b862371e3e6e9a19648b04a357d5467f3a4ac90d656bb140fb2a0c9f9c11c8f78c9cad5ee454d238516693ffde732b95f5f468a29ebcb261e12
6
+ metadata.gz: 509192862b835e50a6de4852b2814fb742195ebbd3e26a5c260e0bec8b95aa4ad60fc212192a66d87a72e0cb8d8991200fbe58c8a608e4a26e399f1ba1330320
7
+ data.tar.gz: 7acd8458f2150e1488ace1ac6a8c5178dac0304bf21ff6b0375eb42348af46e9e46862ffd0de07f353a27ff046e8b3a3b768ba769540911f9f8a99ac52dac9b5
@@ -1,8 +1,8 @@
1
- require 'naught'
2
-
1
+ require 'mimic'
3
2
  require 'attribute'
4
3
  require 'reflect'
5
4
 
5
+ require 'subst_attr/substitute/null_object'
6
6
  require 'subst_attr/substitute'
7
7
  require 'subst_attr/attribute'
8
8
  require 'subst_attr/macro'
@@ -34,35 +34,5 @@ module SubstAttr
34
34
 
35
35
  specialization_module.send(:build)
36
36
  end
37
-
38
- module NullObject
39
- extend self
40
-
41
- Weak = Naught.build do |config|
42
- config.define_explicit_conversions
43
- config.define_implicit_conversions
44
- config.predicates_return false
45
- config.singleton
46
- end
47
-
48
- def build(interface=nil)
49
- if interface
50
- return strict(interface)
51
- end
52
-
53
- weak
54
- end
55
-
56
- def weak
57
- Weak.get
58
- end
59
-
60
- def strict(interface)
61
- Naught.build do |config|
62
- config.singleton
63
- config.impersonate(interface)
64
- end.get
65
- end
66
- end
67
37
  end
68
38
  end
@@ -0,0 +1,32 @@
1
+ module SubstAttr
2
+ module Substitute
3
+ module NullObject
4
+ extend self
5
+
6
+ def build(interface=nil)
7
+ if interface
8
+ return strict(interface)
9
+ end
10
+
11
+ weak
12
+ end
13
+
14
+ def weak
15
+ unless self.const_defined?(:Weak, false)
16
+ cls = Mimic::Build.(Object) do
17
+ def method_missing(*)
18
+ end
19
+ end
20
+
21
+ const_set(:Weak, cls)
22
+ end
23
+
24
+ Weak.new
25
+ end
26
+
27
+ def strict(interface)
28
+ Mimic.(interface)
29
+ end
30
+ end
31
+ end
32
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evt-subst_attr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.0
4
+ version: 1.1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Eventide Project
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-04 00:00:00.000000000 Z
11
+ date: 2019-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: evt-attribute
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: naught
42
+ name: evt-mimic
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -83,6 +83,7 @@ files:
83
83
  - lib/subst_attr/macro.rb
84
84
  - lib/subst_attr/subst_attr.rb
85
85
  - lib/subst_attr/substitute.rb
86
+ - lib/subst_attr/substitute/null_object.rb
86
87
  homepage: https://github.com/eventide-project/subst-attr
87
88
  licenses:
88
89
  - MIT
@@ -102,8 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
103
  - !ruby/object:Gem::Version
103
104
  version: '0'
104
105
  requirements: []
105
- rubyforge_project:
106
- rubygems_version: 2.7.6
106
+ rubygems_version: 3.0.1
107
107
  signing_key:
108
108
  specification_version: 4
109
109
  summary: Declare attributes that have default implementations that are substitutes