module-cluster 1.4.4 → 1.4.5

Sign up to get free protection for your applications and to get access to all the features.
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