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::ClusterCascadesToModule do
5
5
 
6
+ ##########################
7
+ # self.should_cascade? #
8
+ ##########################
9
+
10
+ it 'should cascade to modules' do
11
+ ModuleCluster::Define::ClusterCascadesToModule.should_cascade?( Kernel ).should == true
12
+ ModuleCluster::Define::ClusterCascadesToModule.should_cascade?( Class ).should == false
13
+ ModuleCluster::Define::ClusterCascadesToModule.should_cascade?( Object.new ).should == false
14
+ end
15
+
6
16
  #########################################
7
17
  # include_cascades_includes_to_module #
8
18
  #########################################
@@ -16,21 +26,38 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
16
26
  end
17
27
  include_cascades_includes_to_module( Module1, Module2 )
18
28
  respond_to?( :included ).should == true
19
- module Proof1
29
+ module ModuleProof1
20
30
  include ModuleCluster::Define::ClusterCascadesToModule::Mock01
21
31
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module1 ).should == true
22
32
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module2 ).should == true
33
+ eigenclass = class << self ; self ; end
34
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module1 ).should == false
35
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module2 ).should == false
36
+ end
37
+ class ClassProof
38
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock01
39
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module1 ).should == false
40
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module2 ).should == false
41
+ eigenclass = class << self ; self ; end
42
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module1 ).should == false
43
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module2 ).should == false
23
44
  end
24
- module Proof2
25
- include ModuleCluster::Define::ClusterCascadesToModule::Mock01::Proof1
45
+ module ModuleProof2
46
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock01::ModuleProof1
26
47
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module1 ).should == true
27
48
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module2 ).should == true
49
+ eigenclass = class << self ; self ; end
50
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module1 ).should == false
51
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module2 ).should == false
28
52
  end
29
- class Proof3
30
- include ModuleCluster::Define::ClusterCascadesToModule::Mock01::Proof2
53
+ class ClassProof2
54
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock01::ModuleProof1
31
55
  # true b/c of ancestor chain
32
56
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module1 ).should == true
33
57
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module2 ).should == true
58
+ eigenclass = class << self ; self ; end
59
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module1 ).should == false
60
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock01::Module2 ).should == false
34
61
  end
35
62
  end
36
63
  end
@@ -48,20 +75,34 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
48
75
  end
49
76
  include_cascades_extends_to_module( Module1, Module2 )
50
77
  respond_to?( :included ).should == true
51
- module Proof1
78
+ module ModuleProof1
52
79
  include ModuleCluster::Define::ClusterCascadesToModule::Mock02
80
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module1 ).should == false
81
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module2 ).should == false
53
82
  eigenclass = class << self ; self ; end
54
83
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module1 ).should == true
55
84
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module2 ).should == true
56
85
  end
57
- module Proof2
58
- include ModuleCluster::Define::ClusterCascadesToModule::Mock02::Proof1
86
+ class ClassProof
87
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock02
88
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module1 ).should == false
89
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module2 ).should == false
90
+ eigenclass = class << self ; self ; end
91
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module1 ).should == false
92
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module2 ).should == false
93
+ end
94
+ module ModuleProof2
95
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock02::ModuleProof1
96
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module1 ).should == false
97
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module2 ).should == false
59
98
  eigenclass = class << self ; self ; end
60
99
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module1 ).should == true
61
100
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module2 ).should == true
62
101
  end
63
- class Proof3
64
- include ModuleCluster::Define::ClusterCascadesToModule::Mock02::Proof2
102
+ class ClassProof2
103
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock02::ModuleProof1
104
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module1 ).should == false
105
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module2 ).should == false
65
106
  eigenclass = class << self ; self ; end
66
107
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module1 ).should == false
67
108
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock02::Module2 ).should == false
@@ -82,7 +123,7 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
82
123
  end
83
124
  include_cascades_includes_and_extends_to_module( Module1, Module2 )
84
125
  respond_to?( :included ).should == true
85
- module Proof1
126
+ module ModuleProof1
86
127
  include ModuleCluster::Define::ClusterCascadesToModule::Mock03
87
128
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module1 ).should == true
88
129
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module2 ).should == true
@@ -90,16 +131,24 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
90
131
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module1 ).should == true
91
132
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module2 ).should == true
92
133
  end
93
- module Proof2
94
- include ModuleCluster::Define::ClusterCascadesToModule::Mock03::Proof1
134
+ class ClassProof
135
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock03
136
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module1 ).should == false
137
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module2 ).should == false
138
+ eigenclass = class << self ; self ; end
139
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module1 ).should == false
140
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module2 ).should == false
141
+ end
142
+ module ModuleProof2
143
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock03::ModuleProof1
95
144
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module1 ).should == true
96
145
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module2 ).should == true
97
146
  eigenclass = class << self ; self ; end
98
147
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module1 ).should == true
99
148
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module2 ).should == true
100
149
  end
101
- class Proof3
102
- include ModuleCluster::Define::ClusterCascadesToModule::Mock03::Proof2
150
+ class ClassProof2
151
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock03::ModuleProof1
103
152
  # true b/c of ancestor chain
104
153
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module1 ).should == true
105
154
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock03::Module2 ).should == true
@@ -123,20 +172,52 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
123
172
  end
124
173
  extend_cascades_includes_to_module( Module1, Module2 )
125
174
  respond_to?( :extended ).should == true
126
- module Proof1
175
+ module ModuleProof1
127
176
  extend ModuleCluster::Define::ClusterCascadesToModule::Mock04
128
177
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module1 ).should == true
129
178
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module2 ).should == true
179
+ eigenclass = class << self ; self ; end
180
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module1 ).should == false
181
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module2 ).should == false
182
+ end
183
+ class ClassProof
184
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock04
185
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module1 ).should == false
186
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module2 ).should == false
187
+ eigenclass = class << self ; self ; end
188
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module1 ).should == false
189
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module2 ).should == false
130
190
  end
131
- module Proof2
132
- extend ModuleCluster::Define::ClusterCascadesToModule::Mock04::Proof1
191
+ Object.new.instance_eval do
192
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock04
193
+ eigenclass = class << self ; self ; end
194
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module1 ).should == false
195
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module2 ).should == false
196
+ end
197
+ module ModuleProof2
198
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock04::ModuleProof1
133
199
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module1 ).should == true
134
200
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module2 ).should == true
201
+ eigenclass = class << self ; self ; end
202
+ # true because of ancestor chain
203
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module1 ).should == true
204
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module2 ).should == true
135
205
  end
136
- class Proof3
137
- extend ModuleCluster::Define::ClusterCascadesToModule::Mock04::Proof2
206
+ class ClassProof2
207
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock04::ModuleProof1
138
208
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module1 ).should == false
139
209
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module2 ).should == false
210
+ eigenclass = class << self ; self ; end
211
+ # true because of ancestor chain
212
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module1 ).should == true
213
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module2 ).should == true
214
+ end
215
+ Object.new.instance_eval do
216
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock04::ModuleProof1
217
+ eigenclass = class << self ; self ; end
218
+ # true because of ancestor chain
219
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module1 ).should == true
220
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock04::Module2 ).should == true
140
221
  end
141
222
  end
142
223
  end
@@ -154,20 +235,46 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
154
235
  end
155
236
  extend_cascades_extends_to_module( Module1, Module2 )
156
237
  respond_to?( :extended ).should == true
157
- module Proof1
238
+ module ModuleProof1
158
239
  extend ModuleCluster::Define::ClusterCascadesToModule::Mock05
240
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module1 ).should == false
241
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module2 ).should == false
159
242
  eigenclass = class << self ; self ; end
160
243
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module1 ).should == true
161
244
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module2 ).should == true
162
245
  end
163
- module Proof2
164
- extend ModuleCluster::Define::ClusterCascadesToModule::Mock05::Proof1
246
+ class ClassProof
247
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock05
248
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module1 ).should == false
249
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module2 ).should == false
250
+ eigenclass = class << self ; self ; end
251
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module1 ).should == false
252
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module2 ).should == false
253
+ end
254
+ Object.new.instance_eval do
255
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock05
256
+ eigenclass = class << self ; self ; end
257
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module1 ).should == false
258
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module2 ).should == false
259
+ end
260
+ module ModuleProof2
261
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock05::ModuleProof1
262
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module1 ).should == false
263
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module2 ).should == false
165
264
  eigenclass = class << self ; self ; end
166
265
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module1 ).should == true
167
266
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module2 ).should == true
168
267
  end
169
- class Proof3
170
- extend ModuleCluster::Define::ClusterCascadesToModule::Mock05::Proof2
268
+ class ClassProof2
269
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock05::ModuleProof1
270
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module1 ).should == false
271
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module2 ).should == false
272
+ eigenclass = class << self ; self ; end
273
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module1 ).should == false
274
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module2 ).should == false
275
+ end
276
+ Object.new.instance_eval do
277
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock05::ModuleProof1
171
278
  eigenclass = class << self ; self ; end
172
279
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module1 ).should == false
173
280
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock05::Module2 ).should == false
@@ -188,7 +295,7 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
188
295
  end
189
296
  extend_cascades_includes_and_extends_to_module( Module1, Module2 )
190
297
  respond_to?( :extended ).should == true
191
- module Proof1
298
+ module ModuleProof1
192
299
  extend ModuleCluster::Define::ClusterCascadesToModule::Mock06
193
300
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module1 ).should == true
194
301
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module2 ).should == true
@@ -196,16 +303,30 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
196
303
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module1 ).should == true
197
304
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module2 ).should == true
198
305
  end
199
- module Proof2
200
- extend ModuleCluster::Define::ClusterCascadesToModule::Mock06::Proof1
306
+ class ClassProof
307
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock06
308
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module1 ).should == false
309
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module2 ).should == false
310
+ eigenclass = class << self ; self ; end
311
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module1 ).should == false
312
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module2 ).should == false
313
+ end
314
+ Object.new.instance_eval do
315
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock06
316
+ eigenclass = class << self ; self ; end
317
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module1 ).should == false
318
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module2 ).should == false
319
+ end
320
+ module ModuleProof2
321
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock06::ModuleProof1
201
322
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module1 ).should == true
202
323
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module2 ).should == true
203
324
  eigenclass = class << self ; self ; end
204
325
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module1 ).should == true
205
326
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module2 ).should == true
206
327
  end
207
- class Proof3
208
- extend ModuleCluster::Define::ClusterCascadesToModule::Mock06::Proof2
328
+ class ClassProof2
329
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock06::ModuleProof1
209
330
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module1 ).should == false
210
331
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module2 ).should == false
211
332
  eigenclass = class << self ; self ; end
@@ -213,6 +334,13 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
213
334
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module1 ).should == true
214
335
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module2 ).should == true
215
336
  end
337
+ Object.new.instance_eval do
338
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock06::ModuleProof1
339
+ eigenclass = class << self ; self ; end
340
+ # true because Proof2's ancestor chain includes
341
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module1 ).should == true
342
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock06::Module2 ).should == true
343
+ end
216
344
  end
217
345
  end
218
346
 
@@ -229,21 +357,38 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
229
357
  end
230
358
  include_cascades_to_module_prepending_includes( Module1, Module2 )
231
359
  respond_to?( :append_features ).should == true
232
- module Proof1
360
+ module ModuleProof1
233
361
  include ModuleCluster::Define::ClusterCascadesToModule::Mock07
234
362
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module1 ).should == true
235
363
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module2 ).should == true
364
+ eigenclass = class << self ; self ; end
365
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module1 ).should == false
366
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module2 ).should == false
236
367
  end
237
- module Proof2
238
- include ModuleCluster::Define::ClusterCascadesToModule::Mock07::Proof1
368
+ class ClassProof
369
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock07
370
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module1 ).should == false
371
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module2 ).should == false
372
+ eigenclass = class << self ; self ; end
373
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module1 ).should == false
374
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module2 ).should == false
375
+ end
376
+ module ModuleProof2
377
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock07::ModuleProof1
239
378
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module1 ).should == true
240
379
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module2 ).should == true
380
+ eigenclass = class << self ; self ; end
381
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module1 ).should == false
382
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module2 ).should == false
241
383
  end
242
- class Proof3
243
- include ModuleCluster::Define::ClusterCascadesToModule::Mock07::Proof2
384
+ class ClassProof2
385
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock07::ModuleProof1
244
386
  # true b/c of ancestor chain
245
387
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module1 ).should == true
246
388
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module2 ).should == true
389
+ eigenclass = class << self ; self ; end
390
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module1 ).should == false
391
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock07::Module2 ).should == false
247
392
  end
248
393
  end
249
394
  end
@@ -261,20 +406,34 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
261
406
  end
262
407
  include_cascades_to_module_prepending_extends( Module1, Module2 )
263
408
  respond_to?( :append_features ).should == true
264
- module Proof1
409
+ module ModuleProof1
265
410
  include ModuleCluster::Define::ClusterCascadesToModule::Mock08
411
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module1 ).should == false
412
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module2 ).should == false
266
413
  eigenclass = class << self ; self ; end
267
414
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module1 ).should == true
268
415
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module2 ).should == true
269
416
  end
270
- module Proof2
271
- include ModuleCluster::Define::ClusterCascadesToModule::Mock08::Proof1
417
+ class ClassProof
418
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock08
419
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module1 ).should == false
420
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module2 ).should == false
421
+ eigenclass = class << self ; self ; end
422
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module1 ).should == false
423
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module2 ).should == false
424
+ end
425
+ module ModuleProof2
426
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock08::ModuleProof1
427
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module1 ).should == false
428
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module2 ).should == false
272
429
  eigenclass = class << self ; self ; end
273
430
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module1 ).should == true
274
431
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module2 ).should == true
275
432
  end
276
- class Proof3
277
- include ModuleCluster::Define::ClusterCascadesToModule::Mock08::Proof2
433
+ class ClassProof2
434
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock08::ModuleProof1
435
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module1 ).should == false
436
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module2 ).should == false
278
437
  eigenclass = class << self ; self ; end
279
438
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module1 ).should == false
280
439
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock08::Module2 ).should == false
@@ -295,7 +454,7 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
295
454
  end
296
455
  include_cascades_to_module_prepending_includes_and_extends( Module1, Module2 )
297
456
  respond_to?( :append_features ).should == true
298
- module Proof1
457
+ module ModuleProof1
299
458
  include ModuleCluster::Define::ClusterCascadesToModule::Mock09
300
459
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module1 ).should == true
301
460
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module2 ).should == true
@@ -303,16 +462,24 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
303
462
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module1 ).should == true
304
463
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module2 ).should == true
305
464
  end
306
- module Proof2
307
- include ModuleCluster::Define::ClusterCascadesToModule::Mock09::Proof1
465
+ class ClassProof
466
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock09
467
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module1 ).should == false
468
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module2 ).should == false
469
+ eigenclass = class << self ; self ; end
470
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module1 ).should == false
471
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module2 ).should == false
472
+ end
473
+ module ModuleProof2
474
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock09::ModuleProof1
308
475
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module1 ).should == true
309
476
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module2 ).should == true
310
477
  eigenclass = class << self ; self ; end
311
478
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module1 ).should == true
312
479
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module2 ).should == true
313
480
  end
314
- class Proof3
315
- include ModuleCluster::Define::ClusterCascadesToModule::Mock09::Proof2
481
+ class ClassProof2
482
+ include ModuleCluster::Define::ClusterCascadesToModule::Mock09::ModuleProof1
316
483
  # true b/c of ancestor chain
317
484
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module1 ).should == true
318
485
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock09::Module2 ).should == true
@@ -336,20 +503,52 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
336
503
  end
337
504
  extend_cascades_to_module_prepending_includes( Module1, Module2 )
338
505
  respond_to?( :extend_object ).should == true
339
- module Proof1
506
+ module ModuleProof1
340
507
  extend ModuleCluster::Define::ClusterCascadesToModule::Mock10
341
508
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module1 ).should == true
342
509
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module2 ).should == true
510
+ eigenclass = class << self ; self ; end
511
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module1 ).should == false
512
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module2 ).should == false
513
+ end
514
+ class ClassProof
515
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock10
516
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module1 ).should == false
517
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module2 ).should == false
518
+ eigenclass = class << self ; self ; end
519
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module1 ).should == false
520
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module2 ).should == false
343
521
  end
344
- module Proof2
345
- extend ModuleCluster::Define::ClusterCascadesToModule::Mock10::Proof1
522
+ Object.new.instance_eval do
523
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock10
524
+ eigenclass = class << self ; self ; end
525
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module1 ).should == false
526
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module2 ).should == false
527
+ end
528
+ module ModuleProof2
529
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock10::ModuleProof1
346
530
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module1 ).should == true
347
531
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module2 ).should == true
532
+ eigenclass = class << self ; self ; end
533
+ # true because of ancestor chain
534
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module1 ).should == true
535
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module2 ).should == true
348
536
  end
349
- class Proof3
350
- extend ModuleCluster::Define::ClusterCascadesToModule::Mock10::Proof2
537
+ class ClassProof2
538
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock10::ModuleProof1
351
539
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module1 ).should == false
352
540
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module2 ).should == false
541
+ eigenclass = class << self ; self ; end
542
+ # true because of ancestor chain
543
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module1 ).should == true
544
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module2 ).should == true
545
+ end
546
+ Object.new.instance_eval do
547
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock10::ModuleProof1
548
+ eigenclass = class << self ; self ; end
549
+ # true because of ancestor chain
550
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module1 ).should == true
551
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock10::Module2 ).should == true
353
552
  end
354
553
  end
355
554
  end
@@ -367,20 +566,46 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
367
566
  end
368
567
  extend_cascades_to_module_prepending_extends( Module1, Module2 )
369
568
  respond_to?( :extend_object ).should == true
370
- module Proof1
569
+ module ModuleProof1
371
570
  extend ModuleCluster::Define::ClusterCascadesToModule::Mock11
571
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module1 ).should == false
572
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module2 ).should == false
372
573
  eigenclass = class << self ; self ; end
373
574
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module1 ).should == true
374
575
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module2 ).should == true
375
576
  end
376
- module Proof2
377
- extend ModuleCluster::Define::ClusterCascadesToModule::Mock11::Proof1
577
+ class ClassProof
578
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock11
579
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module1 ).should == false
580
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module2 ).should == false
581
+ eigenclass = class << self ; self ; end
582
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module1 ).should == false
583
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module2 ).should == false
584
+ end
585
+ Object.new.instance_eval do
586
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock11
587
+ eigenclass = class << self ; self ; end
588
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module1 ).should == false
589
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module2 ).should == false
590
+ end
591
+ module ModuleProof2
592
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock11::ModuleProof1
593
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module1 ).should == false
594
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module2 ).should == false
378
595
  eigenclass = class << self ; self ; end
379
596
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module1 ).should == true
380
597
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module2 ).should == true
381
598
  end
382
- class Proof3
383
- extend ModuleCluster::Define::ClusterCascadesToModule::Mock11::Proof2
599
+ class ClassProof2
600
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock11::ModuleProof1
601
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module1 ).should == false
602
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module2 ).should == false
603
+ eigenclass = class << self ; self ; end
604
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module1 ).should == false
605
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module2 ).should == false
606
+ end
607
+ Object.new.instance_eval do
608
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock11::ModuleProof1
384
609
  eigenclass = class << self ; self ; end
385
610
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module1 ).should == false
386
611
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock11::Module2 ).should == false
@@ -401,7 +626,7 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
401
626
  end
402
627
  extend_cascades_to_module_prepending_includes_and_extends( Module1, Module2 )
403
628
  respond_to?( :extend_object ).should == true
404
- module Proof1
629
+ module ModuleProof1
405
630
  extend ModuleCluster::Define::ClusterCascadesToModule::Mock12
406
631
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module1 ).should == true
407
632
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module2 ).should == true
@@ -409,20 +634,41 @@ describe ModuleCluster::Define::ClusterCascadesToModule do
409
634
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module1 ).should == true
410
635
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module2 ).should == true
411
636
  end
412
- module Proof2
413
- extend ModuleCluster::Define::ClusterCascadesToModule::Mock12::Proof1
637
+ class ClassProof
638
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock12
639
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module1 ).should == false
640
+ ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module2 ).should == false
641
+ eigenclass = class << self ; self ; end
642
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module1 ).should == false
643
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module2 ).should == false
644
+ end
645
+ Object.new.instance_eval do
646
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock12
647
+ eigenclass = class << self ; self ; end
648
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module1 ).should == false
649
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module2 ).should == false
650
+ end
651
+ module ModuleProof2
652
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock12::ModuleProof1
414
653
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module1 ).should == true
415
654
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module2 ).should == true
416
655
  eigenclass = class << self ; self ; end
417
656
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module1 ).should == true
418
657
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module2 ).should == true
419
658
  end
420
- class Proof3
421
- extend ModuleCluster::Define::ClusterCascadesToModule::Mock12::Proof2
659
+ class ClassProof2
660
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock12::ModuleProof1
422
661
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module1 ).should == false
423
662
  ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module2 ).should == false
424
663
  eigenclass = class << self ; self ; end
425
- # true b/c Proof2's ancestors include
664
+ # true because of ancestor chain
665
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module1 ).should == true
666
+ eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module2 ).should == true
667
+ end
668
+ Object.new.instance_eval do
669
+ extend ModuleCluster::Define::ClusterCascadesToModule::Mock12::ModuleProof1
670
+ eigenclass = class << self ; self ; end
671
+ # true because of ancestor chain
426
672
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module1 ).should == true
427
673
  eigenclass.ancestors.include?( ModuleCluster::Define::ClusterCascadesToModule::Mock12::Module2 ).should == true
428
674
  end