module-cluster 1.3.1 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. data/lib/module-cluster.rb +17 -13
  2. data/lib/module-cluster/ModuleCluster.rb +8 -8
  3. data/lib/module-cluster/ModuleCluster/CascadeFeatures.rb +155 -0
  4. data/lib/module-cluster/ModuleCluster/ClusterStack.rb +102 -0
  5. data/lib/module-cluster/ModuleCluster/Define/Cluster.rb +203 -0
  6. data/lib/module-cluster/ModuleCluster/Define/ClusterCascades.rb +220 -0
  7. data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToClass.rb +209 -0
  8. data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToModule.rb +209 -0
  9. data/lib/module-cluster/ModuleCluster/Define/ClusterStack.rb +26 -0
  10. data/lib/module-cluster/ModuleCluster/Define/DedoubleAncestors.rb +22 -0
  11. data/lib/module-cluster/ModuleCluster/ExtendForCascade.rb +15 -0
  12. data/spec/ModuleCluster/Define/ClusterCascadesToClass_spec.rb +421 -0
  13. data/spec/ModuleCluster/Define/ClusterCascadesToModule_spec.rb +432 -0
  14. data/spec/ModuleCluster/Define/ClusterCascades_spec.rb +345 -0
  15. data/spec/ModuleCluster/Define/Cluster_spec.rb +275 -0
  16. data/spec/ModuleCluster_spec.rb +4 -4
  17. metadata +16 -14
  18. data/lib/module-cluster/ModuleCluster/Define/ModuleCluster.rb +0 -211
  19. data/lib/module-cluster/ModuleCluster/Define/ModuleClusterCascades.rb +0 -223
  20. data/lib/module-cluster/ModuleCluster/Define/ModuleClusterCascadesToClass.rb +0 -223
  21. data/lib/module-cluster/ModuleCluster/Define/ModuleClusterCascadesToModule.rb +0 -227
  22. data/lib/module-cluster/ModuleCluster/Define/_private_/AnonymousModule.rb +0 -121
  23. data/lib/module-cluster/ModuleCluster/Define/_private_/ClusterStack.rb +0 -55
  24. data/spec/ModuleCluster/Define/ModuleClusterCascadesToClass_spec.rb +0 -421
  25. data/spec/ModuleCluster/Define/ModuleClusterCascadesToModule_spec.rb +0 -432
  26. data/spec/ModuleCluster/Define/ModuleClusterCascades_spec.rb +0 -345
  27. data/spec/ModuleCluster/Define/ModuleCluster_spec.rb +0 -275
  28. data/spec/ModuleCluster/Define/_private_/ClusterStack_spec.rb +0 -24
@@ -0,0 +1,220 @@
1
+
2
+ module ModuleCluster::Define::ClusterCascades
3
+
4
+ include ModuleCluster::Define::ClusterStack
5
+
6
+ extend ModuleCluster::ExtendForCascade
7
+
8
+ ####################################
9
+ # self.should_include_or_extend? #
10
+ ####################################
11
+
12
+ def self.should_include_or_extend?( class_or_module )
13
+ return true
14
+ end
15
+
16
+ ##########################
17
+ # self.should_cascade? #
18
+ ##########################
19
+
20
+ def self.should_cascade?( class_or_module )
21
+ return true
22
+ end
23
+
24
+ #######################################
25
+ # self.perform_includes_and_extends #
26
+ #######################################
27
+
28
+ def self.perform_includes_and_extends( class_or_module, set_stack )
29
+ class_or_module.module_eval do
30
+ include( *cascade_struct.includes.reverse ) unless includes.empty?
31
+ extend( *cascade_struct.extends.reverse ) unless extends.empty?
32
+ end
33
+ end
34
+
35
+ ###########################
36
+ # self.perform_cascades #
37
+ ###########################
38
+
39
+ def self.perform_cascades( class_or_module, method, modules )
40
+ class_or_module.module_eval do
41
+ unless is_a?( Class )
42
+ extend ModuleCluster::Define::ClusterCascades
43
+ __send__( method, *modules )
44
+ end
45
+ end
46
+ end
47
+
48
+ ###############################
49
+ # include_cascades_includes #
50
+ ###############################
51
+
52
+ def include_cascades_includes( *includes, & runtime_includes_block )
53
+ cluster_stack.include_includes( ModuleCluster::Define::ClusterCascades, __method__, includes, runtime_includes_block )
54
+ return self
55
+ end
56
+
57
+ ##############################
58
+ # include_cascades_extends #
59
+ ##############################
60
+
61
+ def include_cascades_extends( *extends, & runtime_extends_block )
62
+ cluster_stack.include_extends( ModuleCluster::Define::ClusterCascades, __method__, extends, runtime_extends_block )
63
+ return self
64
+ end
65
+
66
+ ###########################################
67
+ # include_cascades_includes_and_extends #
68
+ ###########################################
69
+
70
+ def include_cascades_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
71
+ include_cascades_includes( *includes_and_extends, & runtime_includes_and_extends_block )
72
+ include_cascades_extends( *includes_and_extends, & runtime_includes_and_extends_block )
73
+ return self
74
+ end
75
+
76
+ ##############################
77
+ # extend_cascades_includes #
78
+ ##############################
79
+
80
+ def extend_cascades_includes( *includes, & runtime_includes_block )
81
+ cluster_stack.extend_includes( ModuleCluster::Define::ClusterCascades, __method__, includes, runtime_includes_block )
82
+ return self
83
+ end
84
+
85
+ #############################
86
+ # extend_cascades_extends #
87
+ #############################
88
+
89
+ def extend_cascades_extends( *extends, & runtime_extends_block )
90
+ cluster_stack.extend_extends( ModuleCluster::Define::ClusterCascades, __method__, extends, runtime_extends_block )
91
+ return self
92
+ end
93
+
94
+ ##########################################
95
+ # extend_cascades_includes_and_extends #
96
+ ##########################################
97
+
98
+ def extend_cascades_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
99
+ extend_cascades_includes( *includes_and_extends, & runtime_includes_and_extends_block )
100
+ extend_cascades_extends( *includes_and_extends, & runtime_includes_and_extends_block )
101
+ return self
102
+ end
103
+
104
+ ##########################################
105
+ # include_cascades_prepending_includes #
106
+ ##########################################
107
+
108
+ def include_cascades_prepending_includes( *includes, & runtime_includes_block )
109
+ cluster_stack.include_prepends_includes( ModuleCluster::Define::ClusterCascades, __method__, includes, runtime_includes_block )
110
+ return self
111
+ end
112
+
113
+ #########################################
114
+ # include_cascades_prepending_extends #
115
+ #########################################
116
+
117
+ def include_cascades_prepending_extends( *extends, & runtime_extends_block )
118
+ cluster_stack.include_prepends_extends( ModuleCluster::Define::ClusterCascades, __method__, extends, runtime_extends_block )
119
+ return self
120
+ end
121
+
122
+ ######################################################
123
+ # include_cascades_prepending_includes_and_extends #
124
+ ######################################################
125
+
126
+ def include_cascades_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
127
+ include_cascades_prepending_includes( *includes_and_extends, & runtime_includes_and_extends_block )
128
+ include_cascades_prepending_extends( *includes_and_extends, & runtime_includes_and_extends_block )
129
+ return self
130
+ end
131
+
132
+ #########################################
133
+ # extend_cascades_prepending_includes #
134
+ #########################################
135
+
136
+ def extend_cascades_prepending_includes( *includes, & runtime_includes_block )
137
+ cluster_stack.extend_prepends_includes( ModuleCluster::Define::ClusterCascades, __method__, includes, runtime_includes_block )
138
+ return self
139
+ end
140
+
141
+ ########################################
142
+ # extend_cascades_prepending_extends #
143
+ ########################################
144
+
145
+ def extend_cascades_prepending_extends( *extends, & runtime_extends_block )
146
+ cluster_stack.extend_prepends_extends( ModuleCluster::Define::ClusterCascades, __method__, extends, runtime_extends_block )
147
+ return self
148
+ end
149
+
150
+ #####################################################
151
+ # extend_cascades_prepending_includes_and_extends #
152
+ #####################################################
153
+
154
+ def extend_cascades_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
155
+ extend_cascades_prepending_includes( *includes_and_extends, & runtime_includes_and_extends_block )
156
+ extend_cascades_prepending_extends( *includes_and_extends, & runtime_includes_and_extends_block )
157
+ return self
158
+ end
159
+
160
+ #########################################
161
+ # include_or_extend_cascades_includes #
162
+ #########################################
163
+
164
+ def include_or_extend_cascades_includes( *includes, & runtime_includes_block )
165
+ include_cascades_includes( *includes, & runtime_includes_block )
166
+ extend_cascades_includes( *includes, & runtime_includes_block )
167
+ return self
168
+ end
169
+
170
+ ########################################
171
+ # include_or_extend_cascades_extends #
172
+ ########################################
173
+
174
+ def include_or_extend_cascades_extends( *extends, & runtime_extends_block )
175
+ include_cascades_extends( *extends, & runtime_extends_block )
176
+ extend_cascades_extends( *extends, & runtime_extends_block )
177
+ return self
178
+ end
179
+
180
+ #####################################################
181
+ # include_or_extend_cascades_includes_and_extends #
182
+ #####################################################
183
+
184
+ def include_or_extend_cascades_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
185
+ include_cascades_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
186
+ extend_cascades_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
187
+ return self
188
+ end
189
+
190
+ ####################################################
191
+ # include_or_extend_cascades_prepending_includes #
192
+ ####################################################
193
+
194
+ def include_or_extend_cascades_prepending_includes( *includes, & runtime_includes_block )
195
+ include_cascades_includes( *includes, & runtime_includes_block )
196
+ extend_cascades_includes( *includes, & runtime_includes_block )
197
+ return self
198
+ end
199
+
200
+ ###################################################
201
+ # include_or_extend_cascades_prepending_extends #
202
+ ###################################################
203
+
204
+ def include_or_extend_cascades_prepending_extends( *extends, & runtime_extends_block )
205
+ include_cascades_prepending_extends( *extends, & runtime_extends_block )
206
+ extend_cascades_prepending_extends( *extends, & runtime_extends_block )
207
+ return self
208
+ end
209
+
210
+ ################################################################
211
+ # include_or_extend_cascades_prepending_includes_and_extends #
212
+ ################################################################
213
+
214
+ def include_or_extend_cascades_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
215
+ include_cascades_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
216
+ extend_cascades_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
217
+ return self
218
+ end
219
+
220
+ end
@@ -0,0 +1,209 @@
1
+
2
+ module ModuleCluster::Define::ClusterCascadesToClass
3
+
4
+ include ModuleCluster::Define::ClusterStack
5
+
6
+ extend ModuleCluster::ExtendForCascade
7
+
8
+ ####################################
9
+ # self.should_include_or_extend? #
10
+ ####################################
11
+
12
+ def self.should_include_or_extend?( class_or_module )
13
+ return class_or_module.is_a?( Class )
14
+ end
15
+
16
+ ##########################
17
+ # self.should_cascade? #
18
+ ##########################
19
+
20
+ def self.should_cascade?( class_or_module )
21
+ return ! class_or_module.is_a?( Class )
22
+ end
23
+
24
+ ###########################
25
+ # self.perform_cascades #
26
+ ###########################
27
+
28
+ def self.perform_cascades( class_or_module, method, modules )
29
+ class_or_module.module_eval do
30
+ unless is_a?( Class )
31
+ extend ModuleCluster::Define::ClusterCascadesToClass
32
+ __send__( method, *modules )
33
+ end
34
+ end
35
+ end
36
+
37
+ ########################################
38
+ # include_cascades_includes_to_class #
39
+ ########################################
40
+
41
+ def include_cascades_includes_to_class( *includes, & runtime_includes_block )
42
+ cluster_stack.include_includes( ModuleCluster::Define::ClusterCascadesToClass, __method__, includes, runtime_includes_block )
43
+ return self
44
+ end
45
+
46
+ #######################################
47
+ # include_cascades_extends_to_class #
48
+ #######################################
49
+
50
+ def include_cascades_extends_to_class( *extends, & runtime_extends_block )
51
+ cluster_stack.include_extends( ModuleCluster::Define::ClusterCascadesToClass, __method__, extends, runtime_extends_block )
52
+ return self
53
+ end
54
+
55
+ ####################################################
56
+ # include_cascades_includes_and_extends_to_class #
57
+ ####################################################
58
+
59
+ def include_cascades_includes_and_extends_to_class( *includes_and_extends, & runtime_includes_and_extends_block )
60
+ include_cascades_includes_to_class( *includes_and_extends, & runtime_includes_and_extends_block )
61
+ include_cascades_extends_to_class( *includes_and_extends, & runtime_includes_and_extends_block )
62
+ return self
63
+ end
64
+
65
+ #######################################
66
+ # extend_cascades_includes_to_class #
67
+ #######################################
68
+
69
+ def extend_cascades_includes_to_class( *includes, & runtime_includes_block )
70
+ cluster_stack.extend_includes( ModuleCluster::Define::ClusterCascadesToClass, __method__, includes, runtime_includes_block )
71
+ return self
72
+ end
73
+
74
+ ######################################
75
+ # extend_cascades_extends_to_class #
76
+ ######################################
77
+
78
+ def extend_cascades_extends_to_class( *extends, & runtime_extends_block )
79
+ cluster_stack.extend_extends( ModuleCluster::Define::ClusterCascadesToClass, __method__, extends, runtime_extends_block )
80
+ return self
81
+ end
82
+
83
+ ###################################################
84
+ # extend_cascades_includes_and_extends_to_class #
85
+ ###################################################
86
+
87
+ def extend_cascades_includes_and_extends_to_class( *includes_and_extends, & runtime_includes_and_extends_block )
88
+ extend_cascades_includes_to_class( *includes_and_extends, & runtime_includes_and_extends_block )
89
+ extend_cascades_extends_to_class( *includes_and_extends, & runtime_includes_and_extends_block )
90
+ return self
91
+ end
92
+
93
+ ###################################################
94
+ # include_cascades_to_class_prepending_includes #
95
+ ###################################################
96
+
97
+ def include_cascades_to_class_prepending_includes( *includes, & runtime_includes_block )
98
+ cluster_stack.include_prepends_includes( ModuleCluster::Define::ClusterCascadesToClass, __method__, includes, runtime_includes_block )
99
+ return self
100
+ end
101
+
102
+ ##################################################
103
+ # include_cascades_to_class_prepending_extends #
104
+ ##################################################
105
+
106
+ def include_cascades_to_class_prepending_extends( *extends, & runtime_extends_block )
107
+ cluster_stack.include_prepends_extends( ModuleCluster::Define::ClusterCascadesToClass, __method__, extends, runtime_extends_block )
108
+ return self
109
+ end
110
+
111
+ ###############################################################
112
+ # include_cascades_to_class_prepending_includes_and_extends #
113
+ ###############################################################
114
+
115
+ def include_cascades_to_class_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
116
+ include_cascades_to_class_prepending_includes( *includes_and_extends, & runtime_includes_and_extends_block )
117
+ include_cascades_to_class_prepending_extends( *includes_and_extends, & runtime_includes_and_extends_block )
118
+ return self
119
+ end
120
+
121
+ ##################################################
122
+ # extend_cascades_to_class_prepending_includes #
123
+ ##################################################
124
+
125
+ def extend_cascades_to_class_prepending_includes( *includes, & runtime_includes_block )
126
+ cluster_stack.extend_prepends_includes( ModuleCluster::Define::ClusterCascadesToClass, __method__, includes, runtime_includes_block )
127
+ return self
128
+ end
129
+
130
+ #################################################
131
+ # extend_cascades_to_class_prepending_extends #
132
+ #################################################
133
+
134
+ def extend_cascades_to_class_prepending_extends( *extends, & runtime_extends_block )
135
+ cluster_stack.extend_prepends_extends( ModuleCluster::Define::ClusterCascadesToClass, __method__, extends, runtime_extends_block )
136
+ return self
137
+ end
138
+
139
+ ##############################################################
140
+ # extend_cascades_to_class_prepending_includes_and_extends #
141
+ ##############################################################
142
+
143
+ def extend_cascades_to_class_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
144
+ extend_cascades_to_class_prepending_includes( *includes_and_extends, & runtime_includes_and_extends_block )
145
+ extend_cascades_to_class_prepending_extends( *includes_and_extends, & runtime_includes_and_extends_block )
146
+ return self
147
+ end
148
+
149
+ ##################################################
150
+ # include_or_extend_cascades_includes_to_class #
151
+ ##################################################
152
+
153
+ def include_or_extend_cascades_includes_to_class( *includes, & runtime_includes_block )
154
+ include_cascades_includes_to_class( *includes, & runtime_includes_block )
155
+ extend_cascades_includes_to_class( *includes, & runtime_includes_block )
156
+ return self
157
+ end
158
+
159
+ #################################################
160
+ # include_or_extend_cascades_extends_to_class #
161
+ #################################################
162
+
163
+ def include_or_extend_cascades_extends_to_class( *extends, & runtime_extends_block )
164
+ include_cascades_extends_to_class( *extends, & runtime_extends_block )
165
+ extend_cascades_extends_to_class( *extends, & runtime_extends_block )
166
+ return self
167
+ end
168
+
169
+ ##############################################################
170
+ # include_or_extend_cascades_includes_and_extends_to_class #
171
+ ##############################################################
172
+
173
+ def include_or_extend_cascades_includes_and_extends_to_class( *includes_and_extends, & runtime_includes_and_extends_block )
174
+ include_cascades_to_class_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
175
+ extend_cascades_to_class_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
176
+ return self
177
+ end
178
+
179
+ #############################################################
180
+ # include_or_extend_cascades_to_class_prepending_includes #
181
+ #############################################################
182
+
183
+ def include_or_extend_cascades_to_class_prepending_includes( *includes, & runtime_includes_block )
184
+ include_cascades_to_class_prepending_includes( *includes, & runtime_includes_block )
185
+ extend_cascades_to_class_prepending_includes( *includes, & runtime_includes_block )
186
+ return self
187
+ end
188
+
189
+ ############################################################
190
+ # include_or_extend_cascades_to_class_prepending_extends #
191
+ ############################################################
192
+
193
+ def include_or_extend_cascades_to_class_prepending_extends( *extends, & runtime_extends_block )
194
+ include_cascades_to_class_prepending_includes( *extends, & runtime_extends_block )
195
+ extend_cascades_to_class_prepending_includes( *extends, & runtime_extends_block )
196
+ return self
197
+ end
198
+
199
+ #########################################################################
200
+ # include_or_extend_cascades_to_class_prepending_includes_and_extends #
201
+ #########################################################################
202
+
203
+ def include_or_extend_cascades_to_class_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
204
+ include_cascades_to_class_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
205
+ extend_cascades_to_class_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
206
+ return self
207
+ end
208
+
209
+ end
@@ -0,0 +1,209 @@
1
+
2
+ module ModuleCluster::Define::ClusterCascadesToModule
3
+
4
+ include ModuleCluster::Define::ClusterStack
5
+
6
+ extend ModuleCluster::ExtendForCascade
7
+
8
+ ####################################
9
+ # self.should_include_or_extend? #
10
+ ####################################
11
+
12
+ def self.should_include_or_extend?( class_or_module )
13
+ return ! class_or_module.is_a?( Class )
14
+ end
15
+
16
+ ##########################
17
+ # self.should_cascade? #
18
+ ##########################
19
+
20
+ def self.should_cascade?( class_or_module )
21
+ return ! class_or_module.is_a?( Class )
22
+ end
23
+
24
+ ###########################
25
+ # self.perform_cascades #
26
+ ###########################
27
+
28
+ def self.perform_cascades( class_or_module, method, modules )
29
+ class_or_module.module_eval do
30
+ unless is_a?( Class )
31
+ extend ModuleCluster::Define::ClusterCascadesToModule
32
+ __send__( method, *modules )
33
+ end
34
+ end
35
+ end
36
+
37
+ #########################################
38
+ # include_cascades_includes_to_module #
39
+ #########################################
40
+
41
+ def include_cascades_includes_to_module( *includes, & runtime_includes_block )
42
+ cluster_stack.include_includes( ModuleCluster::Define::ClusterCascadesToModule, __method__, includes, runtime_includes_block )
43
+ return self
44
+ end
45
+
46
+ ########################################
47
+ # include_cascades_extends_to_module #
48
+ ########################################
49
+
50
+ def include_cascades_extends_to_module( *extends, & runtime_extends_block )
51
+ cluster_stack.include_extends( ModuleCluster::Define::ClusterCascadesToModule, __method__, extends, runtime_extends_block )
52
+ return self
53
+ end
54
+
55
+ #####################################################
56
+ # include_cascades_includes_and_extends_to_module #
57
+ #####################################################
58
+
59
+ def include_cascades_includes_and_extends_to_module( *includes_and_extends, & runtime_includes_and_extends_block )
60
+ include_cascades_includes_to_module( *includes_and_extends, & runtime_includes_and_extends_block )
61
+ include_cascades_extends_to_module( *includes_and_extends, & runtime_includes_and_extends_block )
62
+ return self
63
+ end
64
+
65
+ ########################################
66
+ # extend_cascades_includes_to_module #
67
+ ########################################
68
+
69
+ def extend_cascades_includes_to_module( *includes, & runtime_includes_block )
70
+ cluster_stack.extend_includes( ModuleCluster::Define::ClusterCascadesToModule, __method__, includes, runtime_includes_block )
71
+ return self
72
+ end
73
+
74
+ #######################################
75
+ # extend_cascades_extends_to_module #
76
+ #######################################
77
+
78
+ def extend_cascades_extends_to_module( *extends, & runtime_extends_block )
79
+ cluster_stack.extend_extends( ModuleCluster::Define::ClusterCascadesToModule, __method__, extends, runtime_extends_block )
80
+ return self
81
+ end
82
+
83
+ ####################################################
84
+ # extend_cascades_includes_and_extends_to_module #
85
+ ####################################################
86
+
87
+ def extend_cascades_includes_and_extends_to_module( *includes_and_extends, & runtime_includes_and_extends_block )
88
+ extend_cascades_includes_to_module( *includes_and_extends, & runtime_includes_and_extends_block )
89
+ extend_cascades_extends_to_module( *includes_and_extends, & runtime_includes_and_extends_block )
90
+ return self
91
+ end
92
+
93
+ ####################################################
94
+ # include_cascades_to_module_prepending_includes #
95
+ ####################################################
96
+
97
+ def include_cascades_to_module_prepending_includes( *includes, & runtime_includes_block )
98
+ cluster_stack.include_prepends_includes( ModuleCluster::Define::ClusterCascadesToModule, __method__, includes, runtime_includes_block )
99
+ return self
100
+ end
101
+
102
+ ###################################################
103
+ # include_cascades_to_module_prepending_extends #
104
+ ###################################################
105
+
106
+ def include_cascades_to_module_prepending_extends( *extends, & runtime_extends_block )
107
+ cluster_stack.include_prepends_extends( ModuleCluster::Define::ClusterCascadesToModule, __method__, extends, runtime_extends_block )
108
+ return self
109
+ end
110
+
111
+ ################################################################
112
+ # include_cascades_to_module_prepending_includes_and_extends #
113
+ ################################################################
114
+
115
+ def include_cascades_to_module_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
116
+ include_cascades_to_module_prepending_includes( *includes_and_extends, & runtime_includes_and_extends_block )
117
+ include_cascades_to_module_prepending_extends( *includes_and_extends, & runtime_includes_and_extends_block )
118
+ return self
119
+ end
120
+
121
+ ###################################################
122
+ # extend_cascades_to_module_prepending_includes #
123
+ ###################################################
124
+
125
+ def extend_cascades_to_module_prepending_includes( *includes, & runtime_includes_block )
126
+ cluster_stack.extend_prepends_includes( ModuleCluster::Define::ClusterCascadesToModule, __method__, includes, runtime_includes_block )
127
+ return self
128
+ end
129
+
130
+ ##################################################
131
+ # extend_cascades_to_module_prepending_extends #
132
+ ##################################################
133
+
134
+ def extend_cascades_to_module_prepending_extends( *extends, & runtime_extends_block )
135
+ cluster_stack.extend_prepends_extends( ModuleCluster::Define::ClusterCascadesToModule, __method__, extends, runtime_extends_block )
136
+ return self
137
+ end
138
+
139
+ ###############################################################
140
+ # extend_cascades_to_module_prepending_includes_and_extends #
141
+ ###############################################################
142
+
143
+ def extend_cascades_to_module_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
144
+ extend_cascades_to_module_prepending_includes( *includes_and_extends, & runtime_includes_and_extends_block )
145
+ extend_cascades_to_module_prepending_extends( *includes_and_extends, & runtime_includes_and_extends_block )
146
+ return self
147
+ end
148
+
149
+ ###################################################
150
+ # include_or_extend_cascades_includes_to_module #
151
+ ###################################################
152
+
153
+ def include_or_extend_cascades_includes_to_module( *includes, & runtime_includes_block )
154
+ include_cascades_includes_to_module( *includes, & runtime_includes_block )
155
+ extend_cascades_includes_to_module( *includes, & runtime_includes_block )
156
+ return self
157
+ end
158
+
159
+ ##################################################
160
+ # include_or_extend_cascades_extends_to_module #
161
+ ##################################################
162
+
163
+ def include_or_extend_cascades_extends_to_module( *extends, & runtime_extends_block )
164
+ include_cascades_extends_to_module( *extends, & runtime_extends_block )
165
+ extend_cascades_extends_to_module( *extends, & runtime_extends_block )
166
+ return self
167
+ end
168
+
169
+ ###############################################################
170
+ # include_or_extend_cascades_includes_and_extends_to_module #
171
+ ###############################################################
172
+
173
+ def include_or_extend_cascades_includes_and_extends_to_module( *includes_and_extends, & runtime_includes_and_extends_block )
174
+ include_cascades_includes_and_extends_to_module( *includes_and_extends, & runtime_includes_and_extends_block )
175
+ extend_cascades_includes_and_extends_to_module( *includes_and_extends, & runtime_includes_and_extends_block )
176
+ return self
177
+ end
178
+
179
+ ##############################################################
180
+ # include_or_extend_cascades_to_module_prepending_includes #
181
+ ##############################################################
182
+
183
+ def include_or_extend_cascades_to_module_prepending_includes( *includes, & runtime_includes_block )
184
+ include_cascades_to_module_prepending_includes( *includes, & runtime_includes_block )
185
+ extend_cascades_to_module_prepending_includes( *includes, & runtime_includes_block )
186
+ return self
187
+ end
188
+
189
+ #############################################################
190
+ # include_or_extend_cascades_to_module_prepending_extends #
191
+ #############################################################
192
+
193
+ def include_or_extend_cascades_to_module_prepending_extends( *extends, & runtime_extends_block )
194
+ include_cascades_to_module_prepending_extends( *extends, & runtime_extends_block )
195
+ extend_cascades_to_module_prepending_extends( *extends, & runtime_extends_block )
196
+ return self
197
+ end
198
+
199
+ ##########################################################################
200
+ # include_or_extend_cascades_to_module_prepending_includes_and_extends #
201
+ ##########################################################################
202
+
203
+ def include_or_extend_cascades_to_module_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
204
+ include_cascades_to_module_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
205
+ extend_cascades_to_module_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
206
+ return self
207
+ end
208
+
209
+ end