module-cluster 1.3.7 → 1.4.0

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.
Files changed (64) hide show
  1. data/README.md +146 -1
  2. data/README.rdoc +146 -1
  3. data/lib/module-cluster.rb +54 -12
  4. data/lib/module-cluster/ModuleCluster/Define/Block.rb +3 -0
  5. data/lib/module-cluster/ModuleCluster/Define/Block/Class.rb +16 -4
  6. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrInstance.rb +63 -0
  7. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrModule.rb +2 -0
  8. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrModuleOrInstance.rb +63 -0
  9. data/lib/module-cluster/ModuleCluster/Define/Block/Instance.rb +32 -0
  10. data/lib/module-cluster/ModuleCluster/Define/Block/Module.rb +16 -4
  11. data/lib/module-cluster/ModuleCluster/Define/Block/ModuleOrInstance.rb +63 -0
  12. data/lib/module-cluster/ModuleCluster/Define/ClassCluster.rb +200 -0
  13. data/lib/module-cluster/ModuleCluster/Define/ClassOrInstanceCluster.rb +127 -0
  14. data/lib/module-cluster/ModuleCluster/Define/Cluster.rb +7 -19
  15. data/lib/module-cluster/ModuleCluster/Define/ClusterCascades.rb +5 -20
  16. data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToClass.rb +9 -26
  17. data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToModule.rb +9 -26
  18. data/lib/module-cluster/ModuleCluster/Define/InstanceCluster.rb +46 -0
  19. data/lib/module-cluster/ModuleCluster/Define/ModuleCluster.rb +200 -0
  20. data/lib/module-cluster/ModuleCluster/Define/ModuleOrClassCluster.rb +208 -0
  21. data/lib/module-cluster/ModuleCluster/Define/ModuleOrInstanceCluster.rb +127 -0
  22. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures.rb +54 -0
  23. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/ClusterStack.rb +44 -0
  24. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/PerformCascades.rb +209 -0
  25. data/lib/module-cluster/{ModuleCluster → _private_/ModuleCluster}/ClusterStack.rb +0 -2
  26. data/lib/module-cluster/{ModuleCluster → _private_/ModuleCluster}/ClusterStack/Block.rb +1 -2
  27. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Class.rb +36 -0
  28. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Instance.rb +20 -0
  29. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Module.rb +36 -0
  30. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Set.rb +2 -0
  31. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Extends.rb +108 -0
  32. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Includes.rb +84 -0
  33. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/PrependsExtends.rb +108 -0
  34. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/PrependsIncludes.rb +84 -0
  35. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Set.rb +7 -0
  36. data/lib/module-cluster/{ModuleCluster → _private_/ModuleCluster}/ExtendForCascade.rb +0 -0
  37. data/spec/ModuleCluster/Define/Block/ClassOrInstance_spec.rb +230 -0
  38. data/spec/ModuleCluster/Define/Block/ClassOrModuleOrInstance_spec.rb +238 -0
  39. data/spec/ModuleCluster/Define/Block/ClassOrModule_spec.rb +231 -0
  40. data/spec/ModuleCluster/Define/Block/Class_spec.rb +224 -0
  41. data/spec/ModuleCluster/Define/Block/Instance_spec.rb +78 -0
  42. data/spec/ModuleCluster/Define/Block/ModuleOrInstance_spec.rb +54 -0
  43. data/spec/ModuleCluster/Define/Block/Module_spec.rb +224 -0
  44. data/spec/ModuleCluster/Define/Block_spec.rb +18 -0
  45. data/spec/ModuleCluster/Define/ClassCluster_spec.rb +728 -0
  46. data/spec/ModuleCluster/Define/ClassOrInstanceCluster_spec.rb +576 -0
  47. data/spec/ModuleCluster/Define/ClusterCascadesToClass_spec.rb +298 -60
  48. data/spec/ModuleCluster/Define/ClusterCascadesToModule_spec.rb +307 -61
  49. data/spec/ModuleCluster/Define/ClusterCascades_spec.rb +335 -36
  50. data/spec/ModuleCluster/Define/Cluster_spec.rb +447 -14
  51. data/spec/ModuleCluster/Define/InstanceCluster_spec.rb +102 -0
  52. data/spec/ModuleCluster/Define/ModuleCluster_spec.rb +728 -0
  53. data/spec/ModuleCluster/Define/ModuleOrClassCluster_spec.rb +728 -0
  54. data/spec/ModuleCluster/Define/ModuleOrInstanceCluster_spec.rb +576 -0
  55. data/spec/_private_/ModuleCluster/CascadeFeatures/PerformCascades_spec.rb +278 -0
  56. metadata +42 -13
  57. data/lib/module-cluster/ModuleCluster/CascadeFeatures.rb +0 -197
  58. data/lib/module-cluster/ModuleCluster/ClusterStack/Block/Class.rb +0 -36
  59. data/lib/module-cluster/ModuleCluster/ClusterStack/Block/Module.rb +0 -36
  60. data/lib/module-cluster/ModuleCluster/ClusterStack/Extends.rb +0 -29
  61. data/lib/module-cluster/ModuleCluster/ClusterStack/Includes.rb +0 -28
  62. data/lib/module-cluster/ModuleCluster/ClusterStack/PrependsExtends.rb +0 -28
  63. data/lib/module-cluster/ModuleCluster/ClusterStack/PrependsIncludes.rb +0 -28
  64. data/lib/module-cluster/ModuleCluster/Define/ClusterStack.rb +0 -26
@@ -3,6 +3,16 @@ require_relative '../../../lib/module-cluster.rb'
3
3
 
4
4
  describe ModuleCluster::Define::ClusterCascades do
5
5
 
6
+ ##########################
7
+ # self.should_cascade? #
8
+ ##########################
9
+
10
+ it 'should cascade to any object' do
11
+ ModuleCluster::Define::ClusterCascades.should_cascade?( Kernel ).should == true
12
+ ModuleCluster::Define::ClusterCascades.should_cascade?( Class ).should == true
13
+ ModuleCluster::Define::ClusterCascades.should_cascade?( Object.new ).should == true
14
+ end
15
+
6
16
  ###############################
7
17
  # include_cascades_includes #
8
18
  ###############################
@@ -16,15 +26,37 @@ describe ModuleCluster::Define::ClusterCascades do
16
26
  end
17
27
  include_cascades_includes( Module1, Module2 )
18
28
  respond_to?( :included ).should == true
19
- module Proof1
29
+ module ModuleProof1
20
30
  include ModuleCluster::Define::ClusterCascades::Mock01
21
31
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module1 ).should == true
22
32
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module2 ).should == true
33
+ eigenclass = class << self ; self ; end
34
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module1 ).should == false
35
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module2 ).should == false
36
+ end
37
+ class ClassProof
38
+ include ModuleCluster::Define::ClusterCascades::Mock01
39
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module1 ).should == true
40
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module2 ).should == true
41
+ eigenclass = class << self ; self ; end
42
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module1 ).should == false
43
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module2 ).should == false
44
+ end
45
+ module ModuleProof2
46
+ include ModuleCluster::Define::ClusterCascades::Mock01::ModuleProof1
47
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module1 ).should == true
48
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module2 ).should == true
49
+ eigenclass = class << self ; self ; end
50
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module1 ).should == false
51
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module2 ).should == false
23
52
  end
24
- module Proof2
25
- include ModuleCluster::Define::ClusterCascades::Mock01::Proof1
53
+ class ClassProof2
54
+ include ModuleCluster::Define::ClusterCascades::Mock01::ModuleProof1
26
55
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module1 ).should == true
27
56
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module2 ).should == true
57
+ eigenclass = class << self ; self ; end
58
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module1 ).should == false
59
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock01::Module2 ).should == false
28
60
  end
29
61
  end
30
62
  end
@@ -42,14 +74,34 @@ describe ModuleCluster::Define::ClusterCascades do
42
74
  end
43
75
  include_cascades_extends( Module1, Module2 )
44
76
  respond_to?( :included ).should == true
45
- module Proof1
77
+ module ModuleProof1
46
78
  include ModuleCluster::Define::ClusterCascades::Mock02
79
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module1 ).should == false
80
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module2 ).should == false
81
+ eigenclass = class << self ; self ; end
82
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module1 ).should == true
83
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module2 ).should == true
84
+ end
85
+ class ClassProof
86
+ include ModuleCluster::Define::ClusterCascades::Mock02
87
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module1 ).should == false
88
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module2 ).should == false
89
+ eigenclass = class << self ; self ; end
90
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module1 ).should == true
91
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module2 ).should == true
92
+ end
93
+ module ModuleProof2
94
+ include ModuleCluster::Define::ClusterCascades::Mock02::ModuleProof1
95
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module1 ).should == false
96
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module2 ).should == false
47
97
  eigenclass = class << self ; self ; end
48
98
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module1 ).should == true
49
99
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module2 ).should == true
50
100
  end
51
- module Proof2
52
- include ModuleCluster::Define::ClusterCascades::Mock02::Proof1
101
+ class ClassProof2
102
+ include ModuleCluster::Define::ClusterCascades::Mock02::ModuleProof1
103
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module1 ).should == false
104
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module2 ).should == false
53
105
  eigenclass = class << self ; self ; end
54
106
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module1 ).should == true
55
107
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock02::Module2 ).should == true
@@ -70,7 +122,7 @@ describe ModuleCluster::Define::ClusterCascades do
70
122
  end
71
123
  include_cascades_includes_and_extends( Module1, Module2 )
72
124
  respond_to?( :included ).should == true
73
- module Proof1
125
+ module ModuleProof1
74
126
  include ModuleCluster::Define::ClusterCascades::Mock03
75
127
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module1 ).should == true
76
128
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module2 ).should == true
@@ -78,8 +130,24 @@ describe ModuleCluster::Define::ClusterCascades do
78
130
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module1 ).should == true
79
131
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module2 ).should == true
80
132
  end
81
- module Proof2
82
- include ModuleCluster::Define::ClusterCascades::Mock03::Proof1
133
+ class ClassProof
134
+ include ModuleCluster::Define::ClusterCascades::Mock03
135
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module1 ).should == true
136
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module2 ).should == true
137
+ eigenclass = class << self ; self ; end
138
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module1 ).should == true
139
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module2 ).should == true
140
+ end
141
+ module ModuleProof2
142
+ include ModuleCluster::Define::ClusterCascades::Mock03::ModuleProof1
143
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module1 ).should == true
144
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module2 ).should == true
145
+ eigenclass = class << self ; self ; end
146
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module1 ).should == true
147
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module2 ).should == true
148
+ end
149
+ class ClassProof2
150
+ include ModuleCluster::Define::ClusterCascades::Mock03::ModuleProof1
83
151
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module1 ).should == true
84
152
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock03::Module2 ).should == true
85
153
  eigenclass = class << self ; self ; end
@@ -102,15 +170,39 @@ describe ModuleCluster::Define::ClusterCascades do
102
170
  end
103
171
  extend_cascades_includes( Module1, Module2 )
104
172
  respond_to?( :extended ).should == true
105
- module Proof1
173
+ module ModuleProof1
106
174
  extend ModuleCluster::Define::ClusterCascades::Mock04
107
175
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module1 ).should == true
108
176
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module2 ).should == true
177
+ eigenclass = class << self ; self ; end
178
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module1 ).should == false
179
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module2 ).should == false
180
+ end
181
+ class ClassProof
182
+ extend ModuleCluster::Define::ClusterCascades::Mock04
183
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module1 ).should == true
184
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module2 ).should == true
185
+ eigenclass = class << self ; self ; end
186
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module1 ).should == false
187
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module2 ).should == false
188
+ end
189
+ module ModuleProof2
190
+ extend ModuleCluster::Define::ClusterCascades::Mock04::ModuleProof1
191
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module1 ).should == true
192
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module2 ).should == true
193
+ eigenclass = class << self ; self ; end
194
+ # true by ancestors
195
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module1 ).should == true
196
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module2 ).should == true
109
197
  end
110
- module Proof2
111
- extend ModuleCluster::Define::ClusterCascades::Mock04::Proof1
198
+ class ClassProof2
199
+ extend ModuleCluster::Define::ClusterCascades::Mock04::ModuleProof1
112
200
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module1 ).should == true
113
201
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module2 ).should == true
202
+ eigenclass = class << self ; self ; end
203
+ # true by ancestors
204
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module1 ).should == true
205
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock04::Module2 ).should == true
114
206
  end
115
207
  end
116
208
  end
@@ -128,14 +220,46 @@ describe ModuleCluster::Define::ClusterCascades do
128
220
  end
129
221
  extend_cascades_extends( Module1, Module2 )
130
222
  respond_to?( :extended ).should == true
131
- module Proof1
223
+ module ModuleProof1
224
+ extend ModuleCluster::Define::ClusterCascades::Mock05
225
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module1 ).should == false
226
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module2 ).should == false
227
+ eigenclass = class << self ; self ; end
228
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module1 ).should == true
229
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module2 ).should == true
230
+ end
231
+ class ClassProof
232
+ extend ModuleCluster::Define::ClusterCascades::Mock05
233
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module1 ).should == false
234
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module2 ).should == false
235
+ eigenclass = class << self ; self ; end
236
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module1 ).should == true
237
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module2 ).should == true
238
+ end
239
+ Object.new.instance_eval do
132
240
  extend ModuleCluster::Define::ClusterCascades::Mock05
133
241
  eigenclass = class << self ; self ; end
134
242
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module1 ).should == true
135
243
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module2 ).should == true
136
244
  end
137
- module Proof2
138
- extend ModuleCluster::Define::ClusterCascades::Mock05::Proof1
245
+ module ModuleProof2
246
+ extend ModuleCluster::Define::ClusterCascades::Mock05::ModuleProof1
247
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module1 ).should == false
248
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module2 ).should == false
249
+ eigenclass = class << self ; self ; end
250
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module1 ).should == true
251
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module2 ).should == true
252
+ end
253
+ class ClassProof2
254
+ extend ModuleCluster::Define::ClusterCascades::Mock05::ModuleProof1
255
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module1 ).should == false
256
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module2 ).should == false
257
+ eigenclass = class << self ; self ; end
258
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module1 ).should == true
259
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module2 ).should == true
260
+ end
261
+ Object.new.instance_eval do
262
+ extend ModuleCluster::Define::ClusterCascades::Mock05::ModuleProof1
139
263
  eigenclass = class << self ; self ; end
140
264
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module1 ).should == true
141
265
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock05::Module2 ).should == true
@@ -156,22 +280,50 @@ describe ModuleCluster::Define::ClusterCascades do
156
280
  end
157
281
  extend_cascades_includes_and_extends( Module1, Module2 )
158
282
  respond_to?( :extended ).should == true
159
- module Proof1
283
+ module ModuleProof1
284
+ extend ModuleCluster::Define::ClusterCascades::Mock06
285
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module1 ).should == true
286
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module2 ).should == true
287
+ eigenclass = class << self ; self ; end
288
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module1 ).should == true
289
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module2 ).should == true
290
+ end
291
+ class ClassProof
292
+ extend ModuleCluster::Define::ClusterCascades::Mock06
293
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module1 ).should == true
294
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module2 ).should == true
295
+ eigenclass = class << self ; self ; end
296
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module1 ).should == true
297
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module2 ).should == true
298
+ end
299
+ Object.new.instance_eval do
160
300
  extend ModuleCluster::Define::ClusterCascades::Mock06
301
+ eigenclass = class << self ; self ; end
302
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module1 ).should == true
303
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module2 ).should == true
304
+ end
305
+ module ModuleProof2
306
+ extend ModuleCluster::Define::ClusterCascades::Mock06::ModuleProof1
161
307
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module1 ).should == true
162
308
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module2 ).should == true
163
309
  eigenclass = class << self ; self ; end
164
310
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module1 ).should == true
165
311
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module2 ).should == true
166
312
  end
167
- module Proof2
168
- extend ModuleCluster::Define::ClusterCascades::Mock06::Proof1
313
+ class ClassProof2
314
+ extend ModuleCluster::Define::ClusterCascades::Mock06::ModuleProof1
169
315
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module1 ).should == true
170
316
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module2 ).should == true
171
317
  eigenclass = class << self ; self ; end
172
318
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module1 ).should == true
173
319
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module2 ).should == true
174
320
  end
321
+ Object.new.instance_eval do
322
+ extend ModuleCluster::Define::ClusterCascades::Mock06::ModuleProof1
323
+ eigenclass = class << self ; self ; end
324
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module1 ).should == true
325
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock06::Module2 ).should == true
326
+ end
175
327
  end
176
328
  end
177
329
 
@@ -188,15 +340,37 @@ describe ModuleCluster::Define::ClusterCascades do
188
340
  end
189
341
  include_cascades_prepending_includes( Module1, Module2 )
190
342
  respond_to?( :append_features ).should == true
191
- module Proof1
343
+ module ModuleProof1
344
+ include ModuleCluster::Define::ClusterCascades::Mock07
345
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module1 ).should == true
346
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module2 ).should == true
347
+ eigenclass = class << self ; self ; end
348
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module1 ).should == false
349
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module2 ).should == false
350
+ end
351
+ class ClassProof
192
352
  include ModuleCluster::Define::ClusterCascades::Mock07
193
353
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module1 ).should == true
194
354
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module2 ).should == true
355
+ eigenclass = class << self ; self ; end
356
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module1 ).should == false
357
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module2 ).should == false
195
358
  end
196
- module Proof2
197
- include ModuleCluster::Define::ClusterCascades::Mock07::Proof1
359
+ module ModuleProof2
360
+ include ModuleCluster::Define::ClusterCascades::Mock07::ModuleProof1
198
361
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module1 ).should == true
199
362
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module2 ).should == true
363
+ eigenclass = class << self ; self ; end
364
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module1 ).should == false
365
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module2 ).should == false
366
+ end
367
+ class ClassProof2
368
+ include ModuleCluster::Define::ClusterCascades::Mock07::ModuleProof1
369
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module1 ).should == true
370
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module2 ).should == true
371
+ eigenclass = class << self ; self ; end
372
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module1 ).should == false
373
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock07::Module2 ).should == false
200
374
  end
201
375
  end
202
376
  end
@@ -214,14 +388,34 @@ describe ModuleCluster::Define::ClusterCascades do
214
388
  end
215
389
  include_cascades_prepending_extends( Module1, Module2 )
216
390
  respond_to?( :append_features ).should == true
217
- module Proof1
391
+ module ModuleProof1
392
+ include ModuleCluster::Define::ClusterCascades::Mock08
393
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module1 ).should == false
394
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module2 ).should == false
395
+ eigenclass = class << self ; self ; end
396
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module1 ).should == true
397
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module2 ).should == true
398
+ end
399
+ class ClassProof
218
400
  include ModuleCluster::Define::ClusterCascades::Mock08
401
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module1 ).should == false
402
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module2 ).should == false
219
403
  eigenclass = class << self ; self ; end
220
404
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module1 ).should == true
221
405
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module2 ).should == true
222
406
  end
223
- module Proof2
224
- include ModuleCluster::Define::ClusterCascades::Mock08::Proof1
407
+ module ModuleProof2
408
+ include ModuleCluster::Define::ClusterCascades::Mock08::ModuleProof1
409
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module1 ).should == false
410
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module2 ).should == false
411
+ eigenclass = class << self ; self ; end
412
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module1 ).should == true
413
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module2 ).should == true
414
+ end
415
+ class ClassProof2
416
+ include ModuleCluster::Define::ClusterCascades::Mock08::ModuleProof1
417
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module1 ).should == false
418
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module2 ).should == false
225
419
  eigenclass = class << self ; self ; end
226
420
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module1 ).should == true
227
421
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock08::Module2 ).should == true
@@ -242,7 +436,15 @@ describe ModuleCluster::Define::ClusterCascades do
242
436
  end
243
437
  include_cascades_prepending_includes_and_extends( Module1, Module2 )
244
438
  respond_to?( :append_features ).should == true
245
- module Proof1
439
+ module ModuleProof1
440
+ include ModuleCluster::Define::ClusterCascades::Mock09
441
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module1 ).should == true
442
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module2 ).should == true
443
+ eigenclass = class << self ; self ; end
444
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module1 ).should == true
445
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module2 ).should == true
446
+ end
447
+ class ClassProof
246
448
  include ModuleCluster::Define::ClusterCascades::Mock09
247
449
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module1 ).should == true
248
450
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module2 ).should == true
@@ -250,8 +452,16 @@ describe ModuleCluster::Define::ClusterCascades do
250
452
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module1 ).should == true
251
453
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module2 ).should == true
252
454
  end
253
- module Proof2
254
- include ModuleCluster::Define::ClusterCascades::Mock09::Proof1
455
+ module ModuleProof2
456
+ include ModuleCluster::Define::ClusterCascades::Mock09::ModuleProof1
457
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module1 ).should == true
458
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module2 ).should == true
459
+ eigenclass = class << self ; self ; end
460
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module1 ).should == true
461
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module2 ).should == true
462
+ end
463
+ class ClassProof2
464
+ include ModuleCluster::Define::ClusterCascades::Mock09::ModuleProof1
255
465
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module1 ).should == true
256
466
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock09::Module2 ).should == true
257
467
  eigenclass = class << self ; self ; end
@@ -274,15 +484,39 @@ describe ModuleCluster::Define::ClusterCascades do
274
484
  end
275
485
  extend_cascades_prepending_includes( Module1, Module2 )
276
486
  respond_to?( :extend_object ).should == true
277
- module Proof1
487
+ module ModuleProof1
488
+ extend ModuleCluster::Define::ClusterCascades::Mock10
489
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module1 ).should == true
490
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module2 ).should == true
491
+ eigenclass = class << self ; self ; end
492
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module1 ).should == false
493
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module2 ).should == false
494
+ end
495
+ class ClassProof
278
496
  extend ModuleCluster::Define::ClusterCascades::Mock10
279
497
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module1 ).should == true
280
498
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module2 ).should == true
499
+ eigenclass = class << self ; self ; end
500
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module1 ).should == false
501
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module2 ).should == false
281
502
  end
282
- module Proof2
283
- extend ModuleCluster::Define::ClusterCascades::Mock10::Proof1
503
+ module ModuleProof2
504
+ extend ModuleCluster::Define::ClusterCascades::Mock10::ModuleProof1
284
505
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module1 ).should == true
285
506
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module2 ).should == true
507
+ eigenclass = class << self ; self ; end
508
+ # true by ancestors
509
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module1 ).should == true
510
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module2 ).should == true
511
+ end
512
+ class ClassProof2
513
+ extend ModuleCluster::Define::ClusterCascades::Mock10::ModuleProof1
514
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module1 ).should == true
515
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module2 ).should == true
516
+ eigenclass = class << self ; self ; end
517
+ # true by ancestors
518
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module1 ).should == true
519
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock10::Module2 ).should == true
286
520
  end
287
521
  end
288
522
  end
@@ -300,14 +534,46 @@ describe ModuleCluster::Define::ClusterCascades do
300
534
  end
301
535
  extend_cascades_prepending_extends( Module1, Module2 )
302
536
  respond_to?( :extend_object ).should == true
303
- module Proof1
537
+ module ModuleProof1
538
+ extend ModuleCluster::Define::ClusterCascades::Mock11
539
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module1 ).should == false
540
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module2 ).should == false
541
+ eigenclass = class << self ; self ; end
542
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module1 ).should == true
543
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module2 ).should == true
544
+ end
545
+ class ClassProof
304
546
  extend ModuleCluster::Define::ClusterCascades::Mock11
547
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module1 ).should == false
548
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module2 ).should == false
549
+ eigenclass = class << self ; self ; end
550
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module1 ).should == true
551
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module2 ).should == true
552
+ end
553
+ Object.new.instance_eval do
554
+ extend ModuleCluster::Define::ClusterCascades::Mock11
555
+ eigenclass = class << self ; self ; end
556
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module1 ).should == true
557
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module2 ).should == true
558
+ end
559
+ module ModuleProof2
560
+ extend ModuleCluster::Define::ClusterCascades::Mock11::ModuleProof1
561
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module1 ).should == false
562
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module2 ).should == false
563
+ eigenclass = class << self ; self ; end
564
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module1 ).should == true
565
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module2 ).should == true
566
+ end
567
+ class ClassProof2
568
+ extend ModuleCluster::Define::ClusterCascades::Mock11::ModuleProof1
569
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module1 ).should == false
570
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module2 ).should == false
305
571
  eigenclass = class << self ; self ; end
306
572
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module1 ).should == true
307
573
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module2 ).should == true
308
574
  end
309
- module Proof2
310
- extend ModuleCluster::Define::ClusterCascades::Mock11::Proof1
575
+ Object.new.instance_eval do
576
+ extend ModuleCluster::Define::ClusterCascades::Mock11::ModuleProof1
311
577
  eigenclass = class << self ; self ; end
312
578
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module1 ).should == true
313
579
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock11::Module2 ).should == true
@@ -328,17 +594,50 @@ describe ModuleCluster::Define::ClusterCascades do
328
594
  end
329
595
  extend_cascades_prepending_includes_and_extends( Module1, Module2 )
330
596
  respond_to?( :extend_object ).should == true
331
- module Proof1
597
+ module ModuleProof1
598
+ extend ModuleCluster::Define::ClusterCascades::Mock12
599
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module1 ).should == true
600
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module2 ).should == true
601
+ eigenclass = class << self ; self ; end
602
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module1 ).should == true
603
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module2 ).should == true
604
+ end
605
+ class ClassProof
332
606
  extend ModuleCluster::Define::ClusterCascades::Mock12
607
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module1 ).should == true
608
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module2 ).should == true
609
+ eigenclass = class << self ; self ; end
610
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module1 ).should == true
611
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module2 ).should == true
612
+ end
613
+ Object.new.instance_eval do
614
+ extend ModuleCluster::Define::ClusterCascades::Mock12
615
+ eigenclass = class << self ; self ; end
616
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module1 ).should == true
617
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module2 ).should == true
333
618
  end
334
- module Proof2
335
- extend ModuleCluster::Define::ClusterCascades::Mock12::Proof1
619
+ module ModuleProof2
620
+ extend ModuleCluster::Define::ClusterCascades::Mock12::ModuleProof1
336
621
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module1 ).should == true
337
622
  ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module2 ).should == true
338
623
  eigenclass = class << self ; self ; end
339
624
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module1 ).should == true
340
625
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module2 ).should == true
341
626
  end
627
+ class ClassProof
628
+ extend ModuleCluster::Define::ClusterCascades::Mock12::ModuleProof1
629
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module1 ).should == true
630
+ ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module2 ).should == true
631
+ eigenclass = class << self ; self ; end
632
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module1 ).should == true
633
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module2 ).should == true
634
+ end
635
+ Object.new.instance_eval do
636
+ extend ModuleCluster::Define::ClusterCascades::Mock12::ModuleProof1
637
+ eigenclass = class << self ; self ; end
638
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module1 ).should == true
639
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascades::Mock12::Module2 ).should == true
640
+ end
342
641
  end
343
642
  end
344
643