module-cluster 1.3.1 → 1.3.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.
- data/lib/module-cluster.rb +17 -13
- data/lib/module-cluster/ModuleCluster.rb +8 -8
- data/lib/module-cluster/ModuleCluster/CascadeFeatures.rb +155 -0
- data/lib/module-cluster/ModuleCluster/ClusterStack.rb +102 -0
- data/lib/module-cluster/ModuleCluster/Define/Cluster.rb +203 -0
- data/lib/module-cluster/ModuleCluster/Define/ClusterCascades.rb +220 -0
- data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToClass.rb +209 -0
- data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToModule.rb +209 -0
- data/lib/module-cluster/ModuleCluster/Define/ClusterStack.rb +26 -0
- data/lib/module-cluster/ModuleCluster/Define/DedoubleAncestors.rb +22 -0
- data/lib/module-cluster/ModuleCluster/ExtendForCascade.rb +15 -0
- data/spec/ModuleCluster/Define/ClusterCascadesToClass_spec.rb +421 -0
- data/spec/ModuleCluster/Define/ClusterCascadesToModule_spec.rb +432 -0
- data/spec/ModuleCluster/Define/ClusterCascades_spec.rb +345 -0
- data/spec/ModuleCluster/Define/Cluster_spec.rb +275 -0
- data/spec/ModuleCluster_spec.rb +4 -4
- metadata +16 -14
- data/lib/module-cluster/ModuleCluster/Define/ModuleCluster.rb +0 -211
- data/lib/module-cluster/ModuleCluster/Define/ModuleClusterCascades.rb +0 -223
- data/lib/module-cluster/ModuleCluster/Define/ModuleClusterCascadesToClass.rb +0 -223
- data/lib/module-cluster/ModuleCluster/Define/ModuleClusterCascadesToModule.rb +0 -227
- data/lib/module-cluster/ModuleCluster/Define/_private_/AnonymousModule.rb +0 -121
- data/lib/module-cluster/ModuleCluster/Define/_private_/ClusterStack.rb +0 -55
- data/spec/ModuleCluster/Define/ModuleClusterCascadesToClass_spec.rb +0 -421
- data/spec/ModuleCluster/Define/ModuleClusterCascadesToModule_spec.rb +0 -432
- data/spec/ModuleCluster/Define/ModuleClusterCascades_spec.rb +0 -345
- data/spec/ModuleCluster/Define/ModuleCluster_spec.rb +0 -275
- data/spec/ModuleCluster/Define/_private_/ClusterStack_spec.rb +0 -24
@@ -1,275 +0,0 @@
|
|
1
|
-
|
2
|
-
require_relative '../../../lib/module-cluster.rb'
|
3
|
-
|
4
|
-
describe ModuleCluster::Define::ModuleCluster do
|
5
|
-
|
6
|
-
###########################
|
7
|
-
# include_also_includes #
|
8
|
-
###########################
|
9
|
-
|
10
|
-
it 'include other modules when this one is included' do
|
11
|
-
module ModuleCluster::Define::ModuleCluster::Mock01
|
12
|
-
extend ModuleCluster::Define::ModuleCluster
|
13
|
-
module Module1
|
14
|
-
end
|
15
|
-
module Module2
|
16
|
-
end
|
17
|
-
include_also_includes( Module1, Module2 )
|
18
|
-
respond_to?( :included ).should == true
|
19
|
-
module Proof
|
20
|
-
include ModuleCluster::Define::ModuleCluster::Mock01
|
21
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock01::Module1 ).should == true
|
22
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock01::Module2 ).should == true
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
##########################
|
28
|
-
# include_also_extends #
|
29
|
-
##########################
|
30
|
-
|
31
|
-
it 'extend other modules when this one is included' do
|
32
|
-
module ModuleCluster::Define::ModuleCluster::Mock02
|
33
|
-
extend ModuleCluster::Define::ModuleCluster
|
34
|
-
module Module1
|
35
|
-
end
|
36
|
-
module Module2
|
37
|
-
end
|
38
|
-
include_also_extends( Module1, Module2 )
|
39
|
-
respond_to?( :included ).should == true
|
40
|
-
module Proof
|
41
|
-
include ModuleCluster::Define::ModuleCluster::Mock02
|
42
|
-
eigenclass = class << self ; self ; end
|
43
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock02::Module1 ).should == true
|
44
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock02::Module2 ).should == true
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
#######################################
|
50
|
-
# include_also_includes_and_extends #
|
51
|
-
#######################################
|
52
|
-
|
53
|
-
it 'include and extend other modules when this one is included' do
|
54
|
-
module ModuleCluster::Define::ModuleCluster::Mock03
|
55
|
-
extend ModuleCluster::Define::ModuleCluster
|
56
|
-
module Module1
|
57
|
-
end
|
58
|
-
module Module2
|
59
|
-
end
|
60
|
-
include_also_includes_and_extends( Module1, Module2 )
|
61
|
-
respond_to?( :included ).should == true
|
62
|
-
module Proof
|
63
|
-
include ModuleCluster::Define::ModuleCluster::Mock03
|
64
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock03::Module1 ).should == true
|
65
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock03::Module2 ).should == true
|
66
|
-
eigenclass = class << self ; self ; end
|
67
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock03::Module1 ).should == true
|
68
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock03::Module2 ).should == true
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
end
|
73
|
-
|
74
|
-
##########################
|
75
|
-
# extend_also_includes #
|
76
|
-
##########################
|
77
|
-
|
78
|
-
it 'include other modules when this one is extended' do
|
79
|
-
module ModuleCluster::Define::ModuleCluster::Mock04
|
80
|
-
extend ModuleCluster::Define::ModuleCluster
|
81
|
-
module Module1
|
82
|
-
end
|
83
|
-
module Module2
|
84
|
-
end
|
85
|
-
extend_also_includes( Module1, Module2 )
|
86
|
-
respond_to?( :extended ).should == true
|
87
|
-
module Proof
|
88
|
-
extend ModuleCluster::Define::ModuleCluster::Mock04
|
89
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock04::Module1 ).should == true
|
90
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock04::Module2 ).should == true
|
91
|
-
end
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
#########################
|
96
|
-
# extend_also_extends #
|
97
|
-
#########################
|
98
|
-
|
99
|
-
it 'extend other modules when this one is extended' do
|
100
|
-
module ModuleCluster::Define::ModuleCluster::Mock05
|
101
|
-
extend ModuleCluster::Define::ModuleCluster
|
102
|
-
module Module1
|
103
|
-
end
|
104
|
-
module Module2
|
105
|
-
end
|
106
|
-
extend_also_extends( Module1, Module2 )
|
107
|
-
respond_to?( :extended ).should == true
|
108
|
-
module Proof
|
109
|
-
extend ModuleCluster::Define::ModuleCluster::Mock05
|
110
|
-
eigenclass = class << self ; self ; end
|
111
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock05::Module1 ).should == true
|
112
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock05::Module2 ).should == true
|
113
|
-
end
|
114
|
-
end
|
115
|
-
end
|
116
|
-
|
117
|
-
######################################
|
118
|
-
# extend_also_includes_and_extends #
|
119
|
-
######################################
|
120
|
-
|
121
|
-
it 'include and extend other modules when this one is extended' do
|
122
|
-
module ModuleCluster::Define::ModuleCluster::Mock06
|
123
|
-
extend ModuleCluster::Define::ModuleCluster
|
124
|
-
module Module1
|
125
|
-
end
|
126
|
-
module Module2
|
127
|
-
end
|
128
|
-
extend_also_includes_and_extends( Module1, Module2 )
|
129
|
-
respond_to?( :extended ).should == true
|
130
|
-
module Proof
|
131
|
-
extend ModuleCluster::Define::ModuleCluster::Mock06
|
132
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock06::Module1 ).should == true
|
133
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock06::Module2 ).should == true
|
134
|
-
eigenclass = class << self ; self ; end
|
135
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock06::Module1 ).should == true
|
136
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock06::Module2 ).should == true
|
137
|
-
end
|
138
|
-
end
|
139
|
-
end
|
140
|
-
|
141
|
-
###############################
|
142
|
-
# include_prepends_includes #
|
143
|
-
###############################
|
144
|
-
|
145
|
-
it 'include other modules before this one is included' do
|
146
|
-
module ModuleCluster::Define::ModuleCluster::Mock07
|
147
|
-
extend ModuleCluster::Define::ModuleCluster
|
148
|
-
module Module1
|
149
|
-
end
|
150
|
-
module Module2
|
151
|
-
end
|
152
|
-
include_prepends_includes( Module1, Module2 )
|
153
|
-
respond_to?( :append_features ).should == true
|
154
|
-
module Proof
|
155
|
-
include ModuleCluster::Define::ModuleCluster::Mock07
|
156
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock07::Module1 ).should == true
|
157
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock07::Module2 ).should == true
|
158
|
-
end
|
159
|
-
end
|
160
|
-
end
|
161
|
-
|
162
|
-
##############################
|
163
|
-
# include_prepends_extends #
|
164
|
-
##############################
|
165
|
-
|
166
|
-
it 'extend other modules before this one is included' do
|
167
|
-
module ModuleCluster::Define::ModuleCluster::Mock08
|
168
|
-
extend ModuleCluster::Define::ModuleCluster
|
169
|
-
module Module1
|
170
|
-
end
|
171
|
-
module Module2
|
172
|
-
end
|
173
|
-
include_prepends_extends( Module1, Module2 )
|
174
|
-
respond_to?( :append_features ).should == true
|
175
|
-
module Proof
|
176
|
-
include ModuleCluster::Define::ModuleCluster::Mock08
|
177
|
-
eigenclass = class << self ; self ; end
|
178
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock08::Module1 ).should == true
|
179
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock08::Module2 ).should == true
|
180
|
-
end
|
181
|
-
end
|
182
|
-
end
|
183
|
-
|
184
|
-
###########################################
|
185
|
-
# include_prepends_includes_and_extends #
|
186
|
-
###########################################
|
187
|
-
|
188
|
-
it 'include and extend other modules before this one is included' do
|
189
|
-
module ModuleCluster::Define::ModuleCluster::Mock09
|
190
|
-
extend ModuleCluster::Define::ModuleCluster
|
191
|
-
module Module1
|
192
|
-
end
|
193
|
-
module Module2
|
194
|
-
end
|
195
|
-
include_prepends_includes_and_extends( Module1, Module2 )
|
196
|
-
respond_to?( :append_features ).should == true
|
197
|
-
module Proof
|
198
|
-
include ModuleCluster::Define::ModuleCluster::Mock09
|
199
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock09::Module1 ).should == true
|
200
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock09::Module2 ).should == true
|
201
|
-
eigenclass = class << self ; self ; end
|
202
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock09::Module1 ).should == true
|
203
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock09::Module2 ).should == true
|
204
|
-
end
|
205
|
-
end
|
206
|
-
end
|
207
|
-
|
208
|
-
##############################
|
209
|
-
# extend_prepends_includes #
|
210
|
-
##############################
|
211
|
-
|
212
|
-
it 'include other modules before this one is extended' do
|
213
|
-
module ModuleCluster::Define::ModuleCluster::Mock10
|
214
|
-
extend ModuleCluster::Define::ModuleCluster
|
215
|
-
module Module1
|
216
|
-
end
|
217
|
-
module Module2
|
218
|
-
end
|
219
|
-
extend_prepends_includes( Module1, Module2 )
|
220
|
-
respond_to?( :extend_object ).should == true
|
221
|
-
module Proof
|
222
|
-
extend ModuleCluster::Define::ModuleCluster::Mock10
|
223
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock10::Module1 ).should == true
|
224
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock10::Module2 ).should == true
|
225
|
-
end
|
226
|
-
end
|
227
|
-
end
|
228
|
-
|
229
|
-
#############################
|
230
|
-
# extend_prepends_extends #
|
231
|
-
#############################
|
232
|
-
|
233
|
-
it 'extend other modules before this one is extended' do
|
234
|
-
module ModuleCluster::Define::ModuleCluster::Mock11
|
235
|
-
extend ModuleCluster::Define::ModuleCluster
|
236
|
-
module Module1
|
237
|
-
end
|
238
|
-
module Module2
|
239
|
-
end
|
240
|
-
extend_prepends_extends( Module1, Module2 )
|
241
|
-
respond_to?( :extend_object ).should == true
|
242
|
-
module Proof
|
243
|
-
extend ModuleCluster::Define::ModuleCluster::Mock11
|
244
|
-
eigenclass = class << self ; self ; end
|
245
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock11::Module1 ).should == true
|
246
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock11::Module2 ).should == true
|
247
|
-
end
|
248
|
-
end
|
249
|
-
end
|
250
|
-
|
251
|
-
##########################################
|
252
|
-
# extend_prepends_includes_and_extends #
|
253
|
-
##########################################
|
254
|
-
|
255
|
-
it 'include and extend other modules before this one is extended' do
|
256
|
-
module ModuleCluster::Define::ModuleCluster::Mock12
|
257
|
-
extend ModuleCluster::Define::ModuleCluster
|
258
|
-
module Module1
|
259
|
-
end
|
260
|
-
module Module2
|
261
|
-
end
|
262
|
-
extend_prepends_includes_and_extends( Module1, Module2 )
|
263
|
-
respond_to?( :extend_object ).should == true
|
264
|
-
module Proof
|
265
|
-
extend ModuleCluster::Define::ModuleCluster::Mock12
|
266
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock12::Module1 ).should == true
|
267
|
-
ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock12::Module2 ).should == true
|
268
|
-
eigenclass = class << self ; self ; end
|
269
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock12::Module1 ).should == true
|
270
|
-
eigenclass.ancestors.include?( ModuleCluster::Define::ModuleCluster::Mock12::Module2 ).should == true
|
271
|
-
end
|
272
|
-
end
|
273
|
-
end
|
274
|
-
|
275
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
|
2
|
-
require_relative '../../../../lib/module-cluster.rb'
|
3
|
-
|
4
|
-
describe ModuleCluster::Define::ClusterStack do
|
5
|
-
|
6
|
-
#########################
|
7
|
-
# clusterstack_module #
|
8
|
-
#########################
|
9
|
-
|
10
|
-
it 'constructs an anonymous module to stack the included/extended/append_features/extend_object chain' do
|
11
|
-
|
12
|
-
class ModuleCluster::Define::ClusterStack::Mock
|
13
|
-
extend ModuleCluster::Define::ClusterStack
|
14
|
-
# get instance of module
|
15
|
-
clusterstack_module_instance = clusterstack_module
|
16
|
-
# make sure it's a module
|
17
|
-
clusterstack_module_instance.is_a?( Module ).should == true
|
18
|
-
# make sure we get the same one after the first time
|
19
|
-
clusterstack_module.should == clusterstack_module_instance
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
23
|
-
|
24
|
-
end
|