module-cluster 1.4.4 → 1.4.5

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 (89) hide show
  1. data/README.md +21 -0
  2. data/README.rdoc +21 -0
  3. data/lib/module-cluster/ModuleCluster/Define/Block/CascadingClass.rb +83 -0
  4. data/lib/module-cluster/ModuleCluster/Define/Block/CascadingClassOrModule.rb +70 -0
  5. data/lib/module-cluster/ModuleCluster/Define/Block/CascadingModule.rb +79 -0
  6. data/lib/module-cluster/ModuleCluster/Define/Block/CascadingModuleOrSubclass.rb +22 -0
  7. data/lib/module-cluster/ModuleCluster/Define/Block/Class.rb +15 -7
  8. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrInstance.rb +15 -7
  9. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrModule.rb +15 -7
  10. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrModuleOrInstance.rb +15 -7
  11. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrModuleOrSubclass.rb +11 -3
  12. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrSubclass.rb +10 -2
  13. data/lib/module-cluster/ModuleCluster/Define/Block/Instance.rb +15 -3
  14. data/lib/module-cluster/ModuleCluster/Define/Block/Module.rb +15 -7
  15. data/lib/module-cluster/ModuleCluster/Define/Block/ModuleOrInstance.rb +15 -7
  16. data/lib/module-cluster/ModuleCluster/Define/Block/ModuleOrSubclass.rb +10 -2
  17. data/lib/module-cluster/ModuleCluster/Define/Block/Subclass.rb +13 -2
  18. data/lib/module-cluster/ModuleCluster/Define/Block.rb +1 -1
  19. data/lib/module-cluster/ModuleCluster/Define/ClassCluster.rb +19 -19
  20. data/lib/module-cluster/ModuleCluster/Define/ClassOrInstanceCluster.rb +34 -34
  21. data/lib/module-cluster/ModuleCluster/Define/Cluster.rb +19 -19
  22. data/lib/module-cluster/ModuleCluster/Define/ClusterCascades.rb +19 -19
  23. data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToClass.rb +19 -19
  24. data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToModule.rb +19 -19
  25. data/lib/module-cluster/ModuleCluster/Define/Deprecated.rb +1 -1
  26. data/lib/module-cluster/ModuleCluster/Define/InstanceCluster.rb +3 -3
  27. data/lib/module-cluster/ModuleCluster/Define/ModuleCluster.rb +19 -19
  28. data/lib/module-cluster/ModuleCluster/Define/ModuleOrClassCluster.rb +43 -43
  29. data/lib/module-cluster/ModuleCluster/Define/ModuleOrInstanceCluster.rb +34 -34
  30. data/lib/module-cluster/ModuleCluster/Define/Status.rb +1 -1
  31. data/lib/module-cluster/ModuleCluster/Define.rb +1 -1
  32. data/lib/module-cluster/ModuleCluster/Suspend/Hooks.rb +1 -1
  33. data/lib/module-cluster/ModuleCluster/Suspend/WithoutHooks.rb +1 -1
  34. data/lib/module-cluster/ModuleCluster/Suspend.rb +1 -1
  35. data/lib/module-cluster/ModuleCluster.rb +1 -1
  36. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/ClusterStack.rb +3 -3
  37. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/PerformCascades.rb +85 -32
  38. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/Subclass.rb +6 -3
  39. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures.rb +5 -5
  40. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Class.rb +9 -9
  41. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Inherited.rb +3 -3
  42. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Instance.rb +5 -5
  43. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Module.rb +9 -9
  44. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Set.rb +1 -0
  45. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block.rb +1 -1
  46. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Extends.rb +13 -13
  47. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Includes.rb +10 -10
  48. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/PrependsExtends.rb +13 -13
  49. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/PrependsIncludes.rb +10 -10
  50. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Set/MultiSetProxy.rb +1 -1
  51. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Status.rb +1 -1
  52. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Suspend.rb +1 -1
  53. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack.rb +1 -1
  54. data/lib/module-cluster/_private_/ModuleCluster/ExtendForCascade/Subclass.rb +1 -1
  55. data/lib/module-cluster/_private_/ModuleCluster/ExtendForCascade.rb +1 -1
  56. data/lib/module-cluster.rb +14 -2
  57. data/spec/ModuleCluster/Define/Block/CascadingClassOrModule_spec.rb +285 -0
  58. data/spec/ModuleCluster/Define/Block/CascadingClass_spec.rb +241 -0
  59. data/spec/ModuleCluster/Define/Block/CascadingModuleOrSubclass_spec.rb +56 -0
  60. data/spec/ModuleCluster/Define/Block/CascadingModule_spec.rb +278 -0
  61. data/spec/ModuleCluster/Define/Block/ClassOrInstance_spec.rb +13 -13
  62. data/spec/ModuleCluster/Define/Block/ClassOrModuleOrInstance_spec.rb +13 -13
  63. data/spec/ModuleCluster/Define/Block/ClassOrModuleOrSubclass_spec.rb +2 -3
  64. data/spec/ModuleCluster/Define/Block/ClassOrModule_spec.rb +13 -13
  65. data/spec/ModuleCluster/Define/Block/ClassOrSubclass_spec.rb +2 -2
  66. data/spec/ModuleCluster/Define/Block/Class_spec.rb +13 -13
  67. data/spec/ModuleCluster/Define/Block/Instance_spec.rb +5 -5
  68. data/spec/ModuleCluster/Define/Block/ModuleOrInstance_spec.rb +1 -1
  69. data/spec/ModuleCluster/Define/Block/ModuleOrSubclass_spec.rb +2 -4
  70. data/spec/ModuleCluster/Define/Block/Module_spec.rb +13 -13
  71. data/spec/ModuleCluster/Define/Block/Subclass_spec.rb +8 -8
  72. data/spec/ModuleCluster/Define/Block_spec.rb +9 -9
  73. data/spec/ModuleCluster/Define/ClassCluster_spec.rb +227 -227
  74. data/spec/ModuleCluster/Define/ClassOrInstanceCluster_spec.rb +197 -197
  75. data/spec/ModuleCluster/Define/ClusterCascadesToClass_spec.rb +228 -228
  76. data/spec/ModuleCluster/Define/ClusterCascadesToModule_spec.rb +232 -232
  77. data/spec/ModuleCluster/Define/ClusterCascades_spec.rb +224 -224
  78. data/spec/ModuleCluster/Define/Cluster_spec.rb +221 -221
  79. data/spec/ModuleCluster/Define/InstanceCluster_spec.rb +29 -29
  80. data/spec/ModuleCluster/Define/ModuleCluster_spec.rb +227 -227
  81. data/spec/ModuleCluster/Define/ModuleOrClassCluster_spec.rb +227 -227
  82. data/spec/ModuleCluster/Define/ModuleOrInstanceCluster_spec.rb +197 -197
  83. data/spec/ModuleCluster/Suspend/Hooks_spec.rb +120 -120
  84. data/spec/ModuleCluster/Suspend/WithoutHooks_spec.rb +120 -120
  85. data/spec/ModuleCluster_spec.rb +2 -2
  86. data/spec/_private_/ModuleCluster/CascadeFeatures/PerformCascades_spec.rb +192 -192
  87. data/spec/_private_/ModuleCluster/ClusterStack/Set/MultiSetProxy_spec.rb +129 -129
  88. data/spec/_private_/ModuleCluster/ClusterStack/Suspend_spec.rb +17 -17
  89. metadata +9 -1
@@ -0,0 +1,241 @@
1
+
2
+ require_relative '../../../../lib/module-cluster.rb'
3
+
4
+ describe ::ModuleCluster::Define::Block::CascadingClass do
5
+
6
+ #############################
7
+ # cascading_class_include #
8
+ #############################
9
+
10
+ it 'can run a block on class include' do
11
+ module ::ModuleCluster::Define::Block::CascadingClass::Mock01
12
+ extend ::ModuleCluster::Define::Block::CascadingClass
13
+ block_ran = false
14
+ cascading_class_include do
15
+ block_ran = true
16
+ end
17
+ respond_to?( :included ).should == true
18
+ module ModuleProof
19
+ include ::ModuleCluster::Define::Block::CascadingClass::Mock01
20
+ end
21
+ block_ran.should == false
22
+ module ModuleProof2
23
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock01
24
+ end
25
+ block_ran.should == false
26
+ Object.new.instance_eval do
27
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock01
28
+ end
29
+ block_ran.should == false
30
+ class CascadingClassProofExtended
31
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock01
32
+ end
33
+ block_ran.should == false
34
+ class CascadingClassProof
35
+ include ::ModuleCluster::Define::Block::CascadingClass::Mock01
36
+ end
37
+ block_ran.should == true
38
+ block_ran = false
39
+ class CascadingClassProof2 < CascadingClassProof
40
+ end
41
+ block_ran.should == true
42
+ end
43
+ end
44
+
45
+ ############################
46
+ # cascading_class_extend #
47
+ ############################
48
+
49
+ it 'can run a block on class extend' do
50
+ module ::ModuleCluster::Define::Block::CascadingClass::Mock02
51
+ extend ::ModuleCluster::Define::Block::CascadingClass
52
+ block_ran = false
53
+ cascading_class_extend do
54
+ block_ran = true
55
+ end
56
+ respond_to?( :extended ).should == true
57
+ module ModuleProof
58
+ include ::ModuleCluster::Define::Block::CascadingClass::Mock02
59
+ end
60
+ block_ran.should == false
61
+ module ModuleProof2
62
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock02
63
+ end
64
+ block_ran.should == false
65
+ Object.new.instance_eval do
66
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock02
67
+ end
68
+ block_ran.should == false
69
+ class CascadingClassProof
70
+ include ::ModuleCluster::Define::Block::CascadingClass::Mock02
71
+ end
72
+ block_ran.should == false
73
+ class CascadingClassProofExtended
74
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock02
75
+ end
76
+ block_ran.should == true
77
+ block_ran = false
78
+ class CascadingClassProof2 < CascadingClassProof
79
+ end
80
+ block_ran.should == true
81
+ end
82
+ end
83
+
84
+ #######################################
85
+ # cascading_class_include_or_extend #
86
+ #######################################
87
+
88
+ it 'can run a block on class include or extend' do
89
+ module ::ModuleCluster::Define::Block::CascadingClass::Mock03
90
+ extend ::ModuleCluster::Define::Block::CascadingClass
91
+ block_ran = false
92
+ cascading_class_include_or_extend do
93
+ block_ran = true
94
+ end
95
+ respond_to?( :extended ).should == true
96
+ module ModuleProof
97
+ include ::ModuleCluster::Define::Block::CascadingClass::Mock03
98
+ end
99
+ block_ran.should == false
100
+ module ModuleProof2
101
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock03
102
+ end
103
+ block_ran.should == false
104
+ Object.new.instance_eval do
105
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock03
106
+ end
107
+ block_ran.should == false
108
+ class CascadingClassProof
109
+ include ::ModuleCluster::Define::Block::CascadingClass::Mock03
110
+ end
111
+ block_ran.should == true
112
+ block_ran = false
113
+ class CascadingClassProofExtended
114
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock03
115
+ end
116
+ block_ran.should == true
117
+ block_ran = false
118
+ class CascadingClassProof2 < CascadingClassProof
119
+ end
120
+ block_ran.should == true
121
+ end
122
+ end
123
+
124
+ #####################################
125
+ # cascading_prepend_class_include #
126
+ #####################################
127
+
128
+ it 'can run a block before class include' do
129
+ module ::ModuleCluster::Define::Block::CascadingClass::Mock04
130
+ extend ::ModuleCluster::Define::Block::CascadingClass
131
+ block_ran = false
132
+ cascading_prepend_class_include do
133
+ block_ran = true
134
+ end
135
+ respond_to?( :included ).should == true
136
+ module ModuleProof
137
+ include ::ModuleCluster::Define::Block::CascadingClass::Mock04
138
+ end
139
+ block_ran.should == false
140
+ module ModuleProof2
141
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock04
142
+ end
143
+ block_ran.should == false
144
+ Object.new.instance_eval do
145
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock04
146
+ end
147
+ block_ran.should == false
148
+ class CascadingClassProof
149
+ include ::ModuleCluster::Define::Block::CascadingClass::Mock04
150
+ end
151
+ block_ran.should == true
152
+ class CascadingClassProofExtended
153
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock04
154
+ end
155
+ block_ran.should == true
156
+ class CascadingClassProof2 < CascadingClassProof
157
+ end
158
+ block_ran.should == true
159
+ end
160
+ end
161
+
162
+ ####################################
163
+ # cascading_prepend_class_extend #
164
+ ####################################
165
+
166
+ it 'can run a block before class extend' do
167
+ module ::ModuleCluster::Define::Block::CascadingClass::Mock05
168
+ extend ::ModuleCluster::Define::Block::CascadingClass
169
+ block_ran = false
170
+ cascading_prepend_class_extend do
171
+ block_ran = true
172
+ end
173
+ respond_to?( :extended ).should == true
174
+ module ModuleProof
175
+ include ::ModuleCluster::Define::Block::CascadingClass::Mock05
176
+ end
177
+ block_ran.should == false
178
+ module ModuleProof2
179
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock05
180
+ end
181
+ block_ran.should == false
182
+ Object.new.instance_eval do
183
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock05
184
+ end
185
+ block_ran.should == false
186
+ class CascadingClassProof
187
+ include ::ModuleCluster::Define::Block::CascadingClass::Mock05
188
+ end
189
+ block_ran.should == false
190
+ class CascadingClassProofExtended
191
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock05
192
+ end
193
+ block_ran.should == true
194
+ block_ran = false
195
+ class CascadingClassProof2 < CascadingClassProof
196
+ end
197
+ block_ran.should == true
198
+ end
199
+ end
200
+
201
+ ###############################################
202
+ # cascading_prepend_class_include_or_extend #
203
+ ###############################################
204
+
205
+ it 'can run a block before class include or extend' do
206
+ module ::ModuleCluster::Define::Block::CascadingClass::Mock06
207
+ extend ::ModuleCluster::Define::Block::CascadingClass
208
+ block_ran = false
209
+ cascading_prepend_class_include_or_extend do
210
+ block_ran = true
211
+ end
212
+ respond_to?( :extended ).should == true
213
+ module ModuleProof
214
+ include ::ModuleCluster::Define::Block::CascadingClass::Mock06
215
+ end
216
+ block_ran.should == false
217
+ module ModuleProof2
218
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock06
219
+ end
220
+ block_ran.should == false
221
+ Object.new.instance_eval do
222
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock06
223
+ end
224
+ block_ran.should == false
225
+ class CascadingClassProof
226
+ include ::ModuleCluster::Define::Block::CascadingClass::Mock06
227
+ end
228
+ block_ran.should == true
229
+ block_ran = false
230
+ class CascadingClassProofExtended
231
+ extend ::ModuleCluster::Define::Block::CascadingClass::Mock06
232
+ end
233
+ block_ran.should == true
234
+ block_ran = false
235
+ class CascadingClassProof2 < CascadingClassProof
236
+ end
237
+ block_ran.should == true
238
+ end
239
+ end
240
+
241
+ end
@@ -0,0 +1,56 @@
1
+
2
+ require_relative '../../../../lib/module-cluster.rb'
3
+
4
+ describe ::ModuleCluster::Define::Block::CascadingModuleOrSubclass do
5
+
6
+ ##########################################
7
+ # cascading_module_include_or_subclass #
8
+ ##########################################
9
+
10
+ it 'can run a block on class or module extend' do
11
+ module ::ModuleCluster::Define::Block::CascadingModuleOrSubclass::Mock01
12
+ extend ::ModuleCluster::Define::Block::CascadingModuleOrSubclass
13
+ block_ran = false
14
+ cascading_module_include_or_subclass do
15
+ block_ran = true
16
+ end
17
+ respond_to?( :extended ).should == true
18
+ module ModuleProof
19
+ include ::ModuleCluster::Define::Block::CascadingModuleOrSubclass::Mock01
20
+ end
21
+ block_ran.should == true
22
+ block_ran = false
23
+ module ModuleProof2
24
+ include ::ModuleCluster::Define::Block::CascadingModuleOrSubclass::Mock01::ModuleProof
25
+ end
26
+ block_ran.should == true
27
+ block_ran = false
28
+ module ModuleProofExtended
29
+ extend ::ModuleCluster::Define::Block::CascadingModuleOrSubclass::Mock01
30
+ end
31
+ block_ran.should == false
32
+ block_ran = false
33
+ class ClassProof
34
+ include ::ModuleCluster::Define::Block::CascadingModuleOrSubclass::Mock01
35
+ end
36
+ block_ran.should == false
37
+ class ClassProofExtended
38
+ extend ::ModuleCluster::Define::Block::CascadingModuleOrSubclass::Mock01
39
+ end
40
+ block_ran.should == false
41
+ block_ran = false
42
+ Object.new.instance_eval do
43
+ extend ::ModuleCluster::Define::Block::CascadingModuleOrSubclass::Mock01
44
+ end
45
+ block_ran.should == false
46
+ class SubClassProof < ClassProof
47
+ end
48
+ block_ran.should == true
49
+ block_ran = false
50
+ class SubSubClassProof < SubClassProof
51
+ end
52
+ block_ran.should == true
53
+ end
54
+ end
55
+
56
+ end
@@ -0,0 +1,278 @@
1
+
2
+ require_relative '../../../../lib/module-cluster.rb'
3
+
4
+ describe ::ModuleCluster::Define::Block::CascadingModule do
5
+
6
+ ##############################
7
+ # cascading_module_include #
8
+ ##############################
9
+
10
+ it 'can run a block on module include' do
11
+ module ::ModuleCluster::Define::Block::CascadingModule::Mock01
12
+ extend ::ModuleCluster::Define::Block::CascadingModule
13
+ block_ran = false
14
+ cascading_module_include do
15
+ block_ran = true
16
+ end
17
+ respond_to?( :included ).should == true
18
+ class ClassProofExtended
19
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock01
20
+ end
21
+ block_ran.should == false
22
+ class ClassProof
23
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock01
24
+ end
25
+ block_ran.should == false
26
+ class ClassProof2 < ClassProof
27
+ end
28
+ block_ran.should == false
29
+ Object.new.instance_eval do
30
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock01
31
+ end
32
+ block_ran.should == false
33
+ module CascadingModuleProof
34
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock01
35
+ end
36
+ block_ran.should == true
37
+ block_ran = false
38
+ module CascadingModuleProof2
39
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock01::CascadingModuleProof
40
+ end
41
+ block_ran.should == true
42
+ block_ran = false
43
+ module CascadingModuleProofExtended
44
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock01
45
+ end
46
+ block_ran.should == false
47
+ end
48
+ end
49
+
50
+ #############################
51
+ # cascading_module_extend #
52
+ #############################
53
+
54
+ it 'can run a block on module extend' do
55
+ module ::ModuleCluster::Define::Block::CascadingModule::Mock02
56
+ extend ::ModuleCluster::Define::Block::CascadingModule
57
+ block_ran = false
58
+ cascading_module_extend do
59
+ block_ran = true
60
+ end
61
+ respond_to?( :extended ).should == true
62
+ class ClassProof
63
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock02
64
+ end
65
+ block_ran.should == false
66
+ class ClassProof2 < ClassProof
67
+ end
68
+ block_ran.should == false
69
+ class ClassProofExtended
70
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock02
71
+ end
72
+ block_ran.should == false
73
+ Object.new.instance_eval do
74
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock02
75
+ end
76
+ block_ran.should == false
77
+ module CascadingModuleProof
78
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock02
79
+ end
80
+ block_ran.should == false
81
+ module CascadingModuleProofExtended
82
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock02
83
+ end
84
+ block_ran.should == true
85
+ block_ran = false
86
+ module CascadingModuleProofExtended2
87
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock02::CascadingModuleProofExtended
88
+ end
89
+ block_ran.should == true
90
+ end
91
+ end
92
+
93
+ ########################################
94
+ # cascading_module_include_or_extend #
95
+ ########################################
96
+
97
+ it 'can run a block on module include or extend' do
98
+ module ::ModuleCluster::Define::Block::CascadingModule::Mock03
99
+ extend ::ModuleCluster::Define::Block::CascadingModule
100
+ block_ran = false
101
+ cascading_module_include_or_extend do
102
+ block_ran = true
103
+ end
104
+ respond_to?( :extended ).should == true
105
+ class ClassProof
106
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock03
107
+ end
108
+ block_ran.should == false
109
+ class ClassProof2 < ClassProof
110
+ end
111
+ block_ran.should == false
112
+ class ClassProofExtended
113
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock03
114
+ end
115
+ block_ran.should == false
116
+ Object.new.instance_eval do
117
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock03
118
+ end
119
+ block_ran.should == false
120
+ module CascadingModuleProof
121
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock03
122
+ end
123
+ block_ran.should == true
124
+ block_ran = false
125
+ module CascadingModuleProof2
126
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock03::CascadingModuleProof
127
+ end
128
+ block_ran.should == true
129
+ block_ran = false
130
+ module CascadingModuleProofExtended
131
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock03
132
+ end
133
+ block_ran.should == true
134
+ block_ran = false
135
+ module CascadingModuleProofExtended2
136
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock03::CascadingModuleProofExtended
137
+ end
138
+ block_ran.should == true
139
+ end
140
+ end
141
+
142
+ ######################################
143
+ # cascading_prepend_module_include #
144
+ ######################################
145
+
146
+ it 'can run a block before module include' do
147
+ module ::ModuleCluster::Define::Block::CascadingModule::Mock04
148
+ extend ::ModuleCluster::Define::Block::CascadingModule
149
+ block_ran = false
150
+ cascading_prepend_module_include do
151
+ block_ran = true
152
+ end
153
+ respond_to?( :included ).should == true
154
+ class ClassProofExtended
155
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock04
156
+ end
157
+ block_ran.should == false
158
+ class ClassProof
159
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock04
160
+ end
161
+ block_ran.should == false
162
+ class ClassProof2 < ClassProof
163
+ end
164
+ block_ran.should == false
165
+ Object.new.instance_eval do
166
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock04
167
+ end
168
+ block_ran.should == false
169
+ module CascadingModuleProof
170
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock04
171
+ end
172
+ block_ran.should == true
173
+ block_ran = false
174
+ module CascadingModuleProof2
175
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock04::CascadingModuleProof
176
+ end
177
+ block_ran.should == true
178
+ block_ran = false
179
+ module CascadingModuleProofExtended
180
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock04
181
+ end
182
+ block_ran.should == false
183
+ end
184
+ end
185
+
186
+ #####################################
187
+ # cascading_prepend_module_extend #
188
+ #####################################
189
+
190
+ it 'can run a block before module extend' do
191
+ module ::ModuleCluster::Define::Block::CascadingModule::Mock05
192
+ extend ::ModuleCluster::Define::Block::CascadingModule
193
+ block_ran = false
194
+ cascading_prepend_module_extend do
195
+ block_ran = true
196
+ end
197
+ respond_to?( :extended ).should == true
198
+ class ClassProof
199
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock05
200
+ end
201
+ block_ran.should == false
202
+ class ClassProof2 < ClassProof
203
+ end
204
+ block_ran.should == false
205
+ class ClassProofExtended
206
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock05
207
+ end
208
+ block_ran.should == false
209
+ Object.new.instance_eval do
210
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock05
211
+ end
212
+ block_ran.should == false
213
+ module CascadingModuleProof
214
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock05
215
+ end
216
+ block_ran.should == false
217
+ module CascadingModuleProofExtended
218
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock05
219
+ end
220
+ block_ran.should == true
221
+ block_ran = false
222
+ module CascadingModuleProofExtended2
223
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock05::CascadingModuleProofExtended
224
+ end
225
+ block_ran.should == true
226
+ end
227
+ end
228
+
229
+ ################################################
230
+ # cascading_prepend_module_include_or_extend #
231
+ ################################################
232
+
233
+ it 'can run a block before module include or extend' do
234
+ module ::ModuleCluster::Define::Block::CascadingModule::Mock06
235
+ extend ::ModuleCluster::Define::Block::CascadingModule
236
+ block_ran = false
237
+ cascading_prepend_module_include_or_extend do
238
+ block_ran = true
239
+ end
240
+ respond_to?( :extended ).should == true
241
+ class ClassProof
242
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock06
243
+ end
244
+ block_ran.should == false
245
+ class ClassProof2 < ClassProof
246
+ end
247
+ block_ran.should == false
248
+ class ClassProofExtended
249
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock06
250
+ end
251
+ block_ran.should == false
252
+ Object.new.instance_eval do
253
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock06
254
+ end
255
+ block_ran.should == false
256
+ module CascadingModuleProof
257
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock06
258
+ end
259
+ block_ran.should == true
260
+ block_ran = false
261
+ module CascadingModuleProof2
262
+ include ::ModuleCluster::Define::Block::CascadingModule::Mock06::CascadingModuleProof
263
+ end
264
+ block_ran.should == true
265
+ block_ran = false
266
+ module CascadingModuleProofExtended
267
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock06
268
+ end
269
+ block_ran.should == true
270
+ block_ran = false
271
+ module CascadingModuleProofExtended2
272
+ extend ::ModuleCluster::Define::Block::CascadingModule::Mock06::CascadingModuleProofExtended
273
+ end
274
+ block_ran.should == true
275
+ end
276
+ end
277
+
278
+ end
@@ -1,19 +1,19 @@
1
1
 
2
2
  require_relative '../../../../lib/module-cluster.rb'
3
3
 
4
- describe ModuleCluster::Define::Block::ClassOrInstance do
4
+ describe ::ModuleCluster::Define::Block::ClassOrInstance do
5
5
 
6
6
  ##############################
7
7
  # class_or_instance_extend #
8
8
  ##############################
9
9
 
10
10
  it 'can run a block on class or instance extend' do
11
- module ModuleCluster::Define::Block::ClassOrInstance::Mock01
11
+ module ::ModuleCluster::Define::Block::ClassOrInstance::Mock01
12
12
  extend ::ModuleCluster::Define::Block::ClassOrInstance
13
13
  block_ran = false
14
14
  class_or_instance_extend do
15
15
  block_ran = true
16
- self.should == ModuleCluster::Define::Block::ClassOrInstance::Mock01
16
+ self.should == ::ModuleCluster::Define::Block::ClassOrInstance::Mock01
17
17
  end
18
18
  respond_to?( :extended ).should == true
19
19
  module ModuleProof
@@ -45,12 +45,12 @@ describe ModuleCluster::Define::Block::ClassOrInstance do
45
45
  ######################################
46
46
 
47
47
  it 'can run a block on class include or instance extend' do
48
- module ModuleCluster::Define::Block::ClassOrInstance::Mock02
48
+ module ::ModuleCluster::Define::Block::ClassOrInstance::Mock02
49
49
  extend ::ModuleCluster::Define::Block::ClassOrInstance
50
50
  block_ran = false
51
51
  class_include_or_instance_extend do
52
52
  block_ran = true
53
- self.should == ModuleCluster::Define::Block::ClassOrInstance::Mock02
53
+ self.should == ::ModuleCluster::Define::Block::ClassOrInstance::Mock02
54
54
  end
55
55
  respond_to?( :extended ).should == true
56
56
  module ModuleProof
@@ -82,12 +82,12 @@ describe ModuleCluster::Define::Block::ClassOrInstance do
82
82
  ################################################
83
83
 
84
84
  it 'can run a block on class include or extend or instance extend' do
85
- module ModuleCluster::Define::Block::ClassOrInstance::Mock03
85
+ module ::ModuleCluster::Define::Block::ClassOrInstance::Mock03
86
86
  extend ::ModuleCluster::Define::Block::ClassOrInstance
87
87
  block_ran = false
88
88
  class_include_or_extend_or_instance_extend do
89
89
  block_ran = true
90
- self.should == ModuleCluster::Define::Block::ClassOrInstance::Mock03
90
+ self.should == ::ModuleCluster::Define::Block::ClassOrInstance::Mock03
91
91
  end
92
92
  respond_to?( :extended ).should == true
93
93
  module ModuleProof
@@ -120,12 +120,12 @@ describe ModuleCluster::Define::Block::ClassOrInstance do
120
120
  ######################################
121
121
 
122
122
  it 'can run a block before class or instance extend' do
123
- module ModuleCluster::Define::Block::ClassOrInstance::Mock04
123
+ module ::ModuleCluster::Define::Block::ClassOrInstance::Mock04
124
124
  extend ::ModuleCluster::Define::Block::ClassOrInstance
125
125
  block_ran = false
126
126
  class_or_instance_extend do
127
127
  block_ran = true
128
- self.should == ModuleCluster::Define::Block::ClassOrInstance::Mock04
128
+ self.should == ::ModuleCluster::Define::Block::ClassOrInstance::Mock04
129
129
  end
130
130
  respond_to?( :extended ).should == true
131
131
  module ModuleProof
@@ -157,12 +157,12 @@ describe ModuleCluster::Define::Block::ClassOrInstance do
157
157
  ##############################################
158
158
 
159
159
  it 'can run a block before class include or instance extend' do
160
- module ModuleCluster::Define::Block::ClassOrInstance::Mock05
160
+ module ::ModuleCluster::Define::Block::ClassOrInstance::Mock05
161
161
  extend ::ModuleCluster::Define::Block::ClassOrInstance
162
162
  block_ran = false
163
163
  class_include_or_instance_extend do
164
164
  block_ran = true
165
- self.should == ModuleCluster::Define::Block::ClassOrInstance::Mock05
165
+ self.should == ::ModuleCluster::Define::Block::ClassOrInstance::Mock05
166
166
  end
167
167
  respond_to?( :extended ).should == true
168
168
  module ModuleProof
@@ -194,12 +194,12 @@ describe ModuleCluster::Define::Block::ClassOrInstance do
194
194
  ########################################################
195
195
 
196
196
  it 'can run a block before class include or extend or instance extend' do
197
- module ModuleCluster::Define::Block::ClassOrInstance::Mock06
197
+ module ::ModuleCluster::Define::Block::ClassOrInstance::Mock06
198
198
  extend ::ModuleCluster::Define::Block::ClassOrInstance
199
199
  block_ran = false
200
200
  class_include_or_extend_or_instance_extend do
201
201
  block_ran = true
202
- self.should == ModuleCluster::Define::Block::ClassOrInstance::Mock06
202
+ self.should == ::ModuleCluster::Define::Block::ClassOrInstance::Mock06
203
203
  end
204
204
  respond_to?( :extended ).should == true
205
205
  module ModuleProof