module-cluster 1.4.0 → 1.4.1

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 (50) hide show
  1. data/README.md +66 -29
  2. data/README.rdoc +66 -29
  3. data/lib/module-cluster.rb +18 -0
  4. data/lib/module-cluster/ModuleCluster.rb +2 -7
  5. data/lib/module-cluster/ModuleCluster/Define/Block.rb +4 -4
  6. data/lib/module-cluster/ModuleCluster/Define/Block/Class.rb +11 -8
  7. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrInstance.rb +19 -12
  8. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrModule.rb +19 -12
  9. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrModuleOrInstance.rb +19 -12
  10. data/lib/module-cluster/ModuleCluster/Define/Block/Instance.rb +3 -2
  11. data/lib/module-cluster/ModuleCluster/Define/Block/Module.rb +11 -8
  12. data/lib/module-cluster/ModuleCluster/Define/Block/ModuleOrInstance.rb +19 -12
  13. data/lib/module-cluster/ModuleCluster/Define/ClassCluster.rb +39 -46
  14. data/lib/module-cluster/ModuleCluster/Define/ClassOrInstanceCluster.rb +34 -33
  15. data/lib/module-cluster/ModuleCluster/Define/Cluster.rb +31 -42
  16. data/lib/module-cluster/ModuleCluster/Define/ClusterCascades.rb +53 -62
  17. data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToClass.rb +49 -60
  18. data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToModule.rb +49 -60
  19. data/lib/module-cluster/ModuleCluster/Define/InstanceCluster.rb +3 -4
  20. data/lib/module-cluster/ModuleCluster/Define/ModuleCluster.rb +39 -46
  21. data/lib/module-cluster/ModuleCluster/Define/ModuleOrClassCluster.rb +55 -54
  22. data/lib/module-cluster/ModuleCluster/Define/ModuleOrInstanceCluster.rb +34 -33
  23. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures.rb +4 -4
  24. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/ClusterStack.rb +1 -1
  25. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/PerformCascades.rb +64 -46
  26. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack.rb +7 -5
  27. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block.rb +3 -3
  28. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Class.rb +2 -2
  29. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Instance.rb +1 -1
  30. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Module.rb +2 -2
  31. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Set.rb +4 -1
  32. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Extends.rb +45 -13
  33. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Includes.rb +36 -10
  34. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/PrependsExtends.rb +47 -15
  35. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/PrependsIncludes.rb +38 -12
  36. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Set.rb +29 -1
  37. data/lib/module-cluster/_private_/ModuleCluster/ExtendForCascade.rb +8 -3
  38. data/spec/ModuleCluster/Define/ClassCluster_spec.rb +18 -18
  39. data/spec/ModuleCluster/Define/ClassOrInstanceCluster_spec.rb +10 -10
  40. data/spec/ModuleCluster/Define/ClusterCascadesToClass_spec.rb +18 -18
  41. data/spec/ModuleCluster/Define/ClusterCascadesToModule_spec.rb +18 -18
  42. data/spec/ModuleCluster/Define/ClusterCascades_spec.rb +18 -18
  43. data/spec/ModuleCluster/Define/Cluster_spec.rb +18 -18
  44. data/spec/ModuleCluster/Define/InstanceCluster_spec.rb +2 -2
  45. data/spec/ModuleCluster/Define/ModuleCluster_spec.rb +18 -18
  46. data/spec/ModuleCluster/Define/ModuleOrClassCluster_spec.rb +18 -18
  47. data/spec/ModuleCluster/Define/ModuleOrInstanceCluster_spec.rb +10 -10
  48. data/spec/ModuleCluster_spec.rb +5 -5
  49. data/spec/_private_/ModuleCluster/CascadeFeatures/PerformCascades_spec.rb +110 -2
  50. metadata +2 -2
@@ -2,6 +2,7 @@
2
2
  module ModuleCluster::Define::ClassOrInstanceCluster
3
3
 
4
4
  include ModuleCluster::CascadeFeatures::ClusterStack
5
+ include ModuleCluster::Suspend::WithoutHooks
5
6
 
6
7
  extend ModuleCluster::ExtendForCascade
7
8
 
@@ -26,10 +27,10 @@ module ModuleCluster::Define::ClassOrInstanceCluster
26
27
  #########################################################################
27
28
 
28
29
  def class_include_or_extend_or_instance_extend_also_includes_or_extends( *includes_or_extends, & runtime_includes_or_extends_block )
29
- cluster_stack.class_include_includes( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
30
- cluster_stack.class_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
31
- cluster_stack.instance_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
32
- return self
30
+ include_set = cluster_stack.class_include_includes( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
31
+ extend_set = cluster_stack.class_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
32
+ extend_set_two = cluster_stack.instance_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
33
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set, extend_set_two )
33
34
  end
34
35
 
35
36
  #############################################################
@@ -37,10 +38,10 @@ module ModuleCluster::Define::ClassOrInstanceCluster
37
38
  #############################################################
38
39
 
39
40
  def class_include_or_extend_or_instance_extend_also_extends( *includes_or_extends, & runtime_includes_or_extends_block )
40
- cluster_stack.class_include_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
41
- cluster_stack.class_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
42
- cluster_stack.instance_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
43
- return self
41
+ include_set = cluster_stack.class_include_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
42
+ extend_set = cluster_stack.class_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
43
+ extend_set_two = cluster_stack.instance_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
44
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set, extend_set_two )
44
45
  end
45
46
 
46
47
  ###############################################################
@@ -48,9 +49,9 @@ module ModuleCluster::Define::ClassOrInstanceCluster
48
49
  ###############################################################
49
50
 
50
51
  def class_include_or_instance_extend_also_includes_or_extends( *includes_or_extends, & runtime_includes_or_extends_block )
51
- cluster_stack.class_include_includes( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
52
- cluster_stack.instance_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
53
- return self
52
+ include_set = cluster_stack.class_include_includes( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
53
+ extend_set = cluster_stack.instance_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
54
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
54
55
  end
55
56
 
56
57
  ###################################################
@@ -58,9 +59,9 @@ module ModuleCluster::Define::ClassOrInstanceCluster
58
59
  ###################################################
59
60
 
60
61
  def class_include_or_instance_extend_also_extends( *extends, & runtime_extends_block )
61
- cluster_stack.class_include_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
62
- cluster_stack.instance_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
63
- return self
62
+ include_set = cluster_stack.class_include_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
63
+ extend_set = cluster_stack.instance_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
64
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
64
65
  end
65
66
 
66
67
  ###########################################
@@ -68,9 +69,9 @@ module ModuleCluster::Define::ClassOrInstanceCluster
68
69
  ###########################################
69
70
 
70
71
  def class_or_instance_extend_also_extends( *extends, & runtime_extends_block )
71
- cluster_stack.class_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
72
- cluster_stack.instance_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
73
- return self
72
+ include_set = cluster_stack.class_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
73
+ extend_set = cluster_stack.instance_extend_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
74
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
74
75
  end
75
76
 
76
77
  #############################################################################
@@ -78,10 +79,10 @@ module ModuleCluster::Define::ClassOrInstanceCluster
78
79
  #############################################################################
79
80
 
80
81
  def class_include_or_extend_or_instance_extend_prepends_includes_or_extends( *includes_or_extends, & runtime_includes_or_extends_block )
81
- cluster_stack.class_include_prepends_includes( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
82
- cluster_stack.class_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
83
- cluster_stack.instance_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
84
- return self
82
+ include_set = cluster_stack.class_include_prepends_includes( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
83
+ extend_set = cluster_stack.class_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
84
+ extend_set_two = cluster_stack.instance_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
85
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set, extend_set_two )
85
86
  end
86
87
 
87
88
  ###################################################################
@@ -89,9 +90,9 @@ module ModuleCluster::Define::ClassOrInstanceCluster
89
90
  ###################################################################
90
91
 
91
92
  def class_include_or_instance_extend_prepends_includes_or_extends( *includes_or_extends, & runtime_includes_or_extends_block )
92
- cluster_stack.class_include_prepends_includes( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
93
- cluster_stack.instance_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
94
- return self
93
+ include_set = cluster_stack.class_include_prepends_includes( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
94
+ extend_set = cluster_stack.instance_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
95
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
95
96
  end
96
97
 
97
98
  #################################################################
@@ -99,9 +100,9 @@ module ModuleCluster::Define::ClassOrInstanceCluster
99
100
  #################################################################
100
101
 
101
102
  def class_include_or_extend_or_instance_extend_prepends_extends( *includes_or_extends, & runtime_includes_or_extends_block )
102
- cluster_stack.class_include_prepends_includes( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
103
- cluster_stack.instance_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
104
- return self
103
+ include_set = cluster_stack.class_include_prepends_includes( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
104
+ extend_set = cluster_stack.instance_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, includes_or_extends, runtime_includes_or_extends_block )
105
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
105
106
  end
106
107
 
107
108
  #######################################################
@@ -109,9 +110,9 @@ module ModuleCluster::Define::ClassOrInstanceCluster
109
110
  #######################################################
110
111
 
111
112
  def class_include_or_instance_extend_prepends_extends( *extends, & runtime_extends_block )
112
- cluster_stack.class_include_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
113
- cluster_stack.instance_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
114
- return self
113
+ include_set = cluster_stack.class_include_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
114
+ extend_set = cluster_stack.instance_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
115
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
115
116
  end
116
117
 
117
118
  ###############################################
@@ -119,9 +120,9 @@ module ModuleCluster::Define::ClassOrInstanceCluster
119
120
  ###############################################
120
121
 
121
122
  def class_or_instance_extend_prepends_extends( *extends, & runtime_extends_block )
122
- cluster_stack.class_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
123
- cluster_stack.instance_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
124
- return self
123
+ include_set = cluster_stack.class_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
124
+ extend_set = cluster_stack.instance_extend_prepends_extends( ModuleCluster::Define::ClassOrInstanceCluster, __method__, extends, runtime_extends_block )
125
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
125
126
  end
126
127
 
127
128
  end
@@ -2,6 +2,7 @@
2
2
  module ModuleCluster::Define::Cluster
3
3
 
4
4
  include ModuleCluster::CascadeFeatures::ClusterStack
5
+ include ModuleCluster::Suspend::WithoutHooks
5
6
 
6
7
  extend ModuleCluster::ExtendForCascade
7
8
 
@@ -26,8 +27,7 @@ module ModuleCluster::Define::Cluster
26
27
  ###########################
27
28
 
28
29
  def include_also_includes( *includes, & runtime_includes_block )
29
- cluster_stack.include_includes( ModuleCluster::Define::Cluster, __method__, includes, runtime_includes_block )
30
- return self
30
+ return cluster_stack.include_includes( ModuleCluster::Define::Cluster, __method__, includes, runtime_includes_block )
31
31
  end
32
32
 
33
33
  ##########################
@@ -35,8 +35,7 @@ module ModuleCluster::Define::Cluster
35
35
  ##########################
36
36
 
37
37
  def include_also_extends( *extends, & runtime_extends_block )
38
- cluster_stack.include_extends( ModuleCluster::Define::Cluster, __method__, extends, runtime_extends_block )
39
- return self
38
+ return cluster_stack.include_extends( ModuleCluster::Define::Cluster, __method__, extends, runtime_extends_block )
40
39
  end
41
40
 
42
41
  #######################################
@@ -44,8 +43,7 @@ module ModuleCluster::Define::Cluster
44
43
  #######################################
45
44
 
46
45
  def include_also_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
47
- cluster_stack.include_includes_and_extends( ModuleCluster::Define::Cluster, __method__, includes_and_extends, runtime_includes_and_extends_block )
48
- return self
46
+ return cluster_stack.include_includes_and_extends( ModuleCluster::Define::Cluster, __method__, includes_and_extends, runtime_includes_and_extends_block )
49
47
  end
50
48
 
51
49
  ##########################
@@ -53,8 +51,7 @@ module ModuleCluster::Define::Cluster
53
51
  ##########################
54
52
 
55
53
  def extend_also_includes( *includes, & runtime_includes_block )
56
- cluster_stack.extend_includes( ModuleCluster::Define::Cluster, __method__, includes, runtime_includes_block )
57
- return self
54
+ return cluster_stack.extend_includes( ModuleCluster::Define::Cluster, __method__, includes, runtime_includes_block )
58
55
  end
59
56
 
60
57
  #########################
@@ -62,8 +59,7 @@ module ModuleCluster::Define::Cluster
62
59
  #########################
63
60
 
64
61
  def extend_also_extends( *extends, & runtime_extends_block )
65
- cluster_stack.extend_extends( ModuleCluster::Define::Cluster, __method__, extends, runtime_extends_block )
66
- return self
62
+ return cluster_stack.extend_extends( ModuleCluster::Define::Cluster, __method__, extends, runtime_extends_block )
67
63
  end
68
64
 
69
65
  ######################################
@@ -71,8 +67,7 @@ module ModuleCluster::Define::Cluster
71
67
  ######################################
72
68
 
73
69
  def extend_also_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
74
- cluster_stack.extend_includes_and_extends( ModuleCluster::Define::Cluster, __method__, includes_and_extends, runtime_includes_and_extends_block )
75
- return self
70
+ return cluster_stack.extend_includes_and_extends( ModuleCluster::Define::Cluster, __method__, includes_and_extends, runtime_includes_and_extends_block )
76
71
  end
77
72
 
78
73
  ###############################
@@ -80,8 +75,7 @@ module ModuleCluster::Define::Cluster
80
75
  ###############################
81
76
 
82
77
  def include_prepends_includes( *includes, & runtime_includes_block )
83
- cluster_stack.include_prepends_includes( ModuleCluster::Define::Cluster, __method__, includes, runtime_includes_block )
84
- return self
78
+ return cluster_stack.include_prepends_includes( ModuleCluster::Define::Cluster, __method__, includes, runtime_includes_block )
85
79
  end
86
80
 
87
81
  ##############################
@@ -89,8 +83,7 @@ module ModuleCluster::Define::Cluster
89
83
  ##############################
90
84
 
91
85
  def include_prepends_extends( *extends, & runtime_extends_block )
92
- cluster_stack.include_prepends_extends( ModuleCluster::Define::Cluster, __method__, extends, runtime_extends_block )
93
- return self
86
+ return cluster_stack.include_prepends_extends( ModuleCluster::Define::Cluster, __method__, extends, runtime_extends_block )
94
87
  end
95
88
 
96
89
  ###########################################
@@ -98,8 +91,7 @@ module ModuleCluster::Define::Cluster
98
91
  ###########################################
99
92
 
100
93
  def include_prepends_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
101
- cluster_stack.include_prepends_includes_and_extends( ModuleCluster::Define::Cluster, __method__, includes_and_extends, runtime_includes_and_extends_block )
102
- return self
94
+ return cluster_stack.include_prepends_includes_and_extends( ModuleCluster::Define::Cluster, __method__, includes_and_extends, runtime_includes_and_extends_block )
103
95
  end
104
96
 
105
97
  ##############################
@@ -107,8 +99,7 @@ module ModuleCluster::Define::Cluster
107
99
  ##############################
108
100
 
109
101
  def extend_prepends_includes( *includes, & runtime_includes_block )
110
- cluster_stack.extend_prepends_includes( ModuleCluster::Define::Cluster, __method__, includes, runtime_includes_block )
111
- return self
102
+ return cluster_stack.extend_prepends_includes( ModuleCluster::Define::Cluster, __method__, includes, runtime_includes_block )
112
103
  end
113
104
 
114
105
  #############################
@@ -116,8 +107,7 @@ module ModuleCluster::Define::Cluster
116
107
  #############################
117
108
 
118
109
  def extend_prepends_extends( *extends, & runtime_extends_block )
119
- cluster_stack.extend_prepends_extends( ModuleCluster::Define::Cluster, __method__, extends, runtime_extends_block )
120
- return self
110
+ return cluster_stack.extend_prepends_extends( ModuleCluster::Define::Cluster, __method__, extends, runtime_extends_block )
121
111
  end
122
112
 
123
113
  ##########################################
@@ -125,8 +115,7 @@ module ModuleCluster::Define::Cluster
125
115
  ##########################################
126
116
 
127
117
  def extend_prepends_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
128
- cluster_stack.extend_prepends_includes_and_extends( ModuleCluster::Define::Cluster, __method__, includes_and_extends, runtime_includes_and_extends_block )
129
- return self
118
+ return cluster_stack.extend_prepends_includes_and_extends( ModuleCluster::Define::Cluster, __method__, includes_and_extends, runtime_includes_and_extends_block )
130
119
  end
131
120
 
132
121
  #####################################
@@ -134,9 +123,9 @@ module ModuleCluster::Define::Cluster
134
123
  #####################################
135
124
 
136
125
  def include_or_extend_also_includes( *includes, & runtime_includes_block )
137
- include_also_includes( *includes, & runtime_includes_block )
138
- extend_also_includes( *includes, & runtime_includes_block )
139
- return self
126
+ include_set = include_also_includes( *includes, & runtime_includes_block )
127
+ extend_set = extend_also_includes( *includes, & runtime_includes_block )
128
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
140
129
  end
141
130
 
142
131
  ####################################
@@ -144,9 +133,9 @@ module ModuleCluster::Define::Cluster
144
133
  ####################################
145
134
 
146
135
  def include_or_extend_also_extends( *extends, & runtime_extends_block )
147
- include_also_extends( *extends, & runtime_extends_block )
148
- extend_also_extends( *extends, & runtime_extends_block )
149
- return self
136
+ include_set = include_also_extends( *extends, & runtime_extends_block )
137
+ extend_set = extend_also_extends( *extends, & runtime_extends_block )
138
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
150
139
  end
151
140
 
152
141
  #################################################
@@ -154,9 +143,9 @@ module ModuleCluster::Define::Cluster
154
143
  #################################################
155
144
 
156
145
  def include_or_extend_also_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
157
- include_prepends_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
158
- extend_prepends_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
159
- return self
146
+ include_set = include_prepends_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
147
+ extend_set = extend_prepends_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
148
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
160
149
  end
161
150
 
162
151
  #########################################
@@ -164,9 +153,9 @@ module ModuleCluster::Define::Cluster
164
153
  #########################################
165
154
 
166
155
  def include_or_extend_prepends_includes( *includes, & runtime_includes_block )
167
- include_prepends_includes( *includes, & runtime_includes_block )
168
- extend_prepends_includes( *includes, & runtime_includes_block )
169
- return self
156
+ include_set = include_prepends_includes( *includes, & runtime_includes_block )
157
+ extend_set = extend_prepends_includes( *includes, & runtime_includes_block )
158
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
170
159
  end
171
160
 
172
161
  ########################################
@@ -174,9 +163,9 @@ module ModuleCluster::Define::Cluster
174
163
  ########################################
175
164
 
176
165
  def include_or_extend_prepends_extends( *extends, & runtime_extends_block )
177
- include_prepends_extends( *extends, & runtime_extends_block )
178
- extend_prepends_extends( *extends, & runtime_extends_block )
179
- return self
166
+ include_set = include_prepends_extends( *extends, & runtime_extends_block )
167
+ extend_set = extend_prepends_extends( *extends, & runtime_extends_block )
168
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
180
169
  end
181
170
 
182
171
  #####################################################
@@ -184,9 +173,9 @@ module ModuleCluster::Define::Cluster
184
173
  #####################################################
185
174
 
186
175
  def include_or_extend_prepends_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
187
- include_prepends_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
188
- extend_prepends_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
189
- return self
176
+ include_set = include_prepends_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
177
+ extend_set = extend_prepends_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
178
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
190
179
  end
191
180
 
192
181
  end
@@ -2,6 +2,7 @@
2
2
  module ModuleCluster::Define::ClusterCascades
3
3
 
4
4
  include ModuleCluster::CascadeFeatures::ClusterStack
5
+ include ModuleCluster::Suspend::WithoutHooks
5
6
 
6
7
  extend ModuleCluster::ExtendForCascade
7
8
 
@@ -26,8 +27,7 @@ module ModuleCluster::Define::ClusterCascades
26
27
  ###############################
27
28
 
28
29
  def include_cascades_includes( *includes, & runtime_includes_block )
29
- cluster_stack.include_includes( ModuleCluster::Define::ClusterCascades, __method__, includes, runtime_includes_block )
30
- return self
30
+ return cluster_stack.include_includes( ModuleCluster::Define::ClusterCascades, __method__, includes, runtime_includes_block )
31
31
  end
32
32
 
33
33
  ##############################
@@ -35,8 +35,7 @@ module ModuleCluster::Define::ClusterCascades
35
35
  ##############################
36
36
 
37
37
  def include_cascades_extends( *extends, & runtime_extends_block )
38
- cluster_stack.include_extends( ModuleCluster::Define::ClusterCascades, __method__, extends, runtime_extends_block )
39
- return self
38
+ return cluster_stack.include_extends( ModuleCluster::Define::ClusterCascades, __method__, extends, runtime_extends_block )
40
39
  end
41
40
 
42
41
  ###########################################
@@ -44,8 +43,7 @@ module ModuleCluster::Define::ClusterCascades
44
43
  ###########################################
45
44
 
46
45
  def include_cascades_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
47
- cluster_stack.include_includes_and_extends( ModuleCluster::Define::ClusterCascades, __method__, includes_and_extends, runtime_includes_and_extends_block )
48
- return self
46
+ return cluster_stack.include_includes_and_extends( ModuleCluster::Define::ClusterCascades, __method__, includes_and_extends, runtime_includes_and_extends_block )
49
47
  end
50
48
 
51
49
  ##############################
@@ -53,8 +51,7 @@ module ModuleCluster::Define::ClusterCascades
53
51
  ##############################
54
52
 
55
53
  def extend_cascades_includes( *includes, & runtime_includes_block )
56
- cluster_stack.extend_includes( ModuleCluster::Define::ClusterCascades, __method__, includes, runtime_includes_block )
57
- return self
54
+ return cluster_stack.extend_includes( ModuleCluster::Define::ClusterCascades, __method__, includes, runtime_includes_block )
58
55
  end
59
56
 
60
57
  #############################
@@ -62,8 +59,7 @@ module ModuleCluster::Define::ClusterCascades
62
59
  #############################
63
60
 
64
61
  def extend_cascades_extends( *extends, & runtime_extends_block )
65
- cluster_stack.extend_extends( ModuleCluster::Define::ClusterCascades, __method__, extends, runtime_extends_block )
66
- return self
62
+ return cluster_stack.extend_extends( ModuleCluster::Define::ClusterCascades, __method__, extends, runtime_extends_block )
67
63
  end
68
64
 
69
65
  ##########################################
@@ -71,64 +67,59 @@ module ModuleCluster::Define::ClusterCascades
71
67
  ##########################################
72
68
 
73
69
  def extend_cascades_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
74
- cluster_stack.extend_includes_and_extends( ModuleCluster::Define::ClusterCascades, __method__, includes_and_extends, runtime_includes_and_extends_block )
75
- return self
70
+ return cluster_stack.extend_includes_and_extends( ModuleCluster::Define::ClusterCascades, __method__, includes_and_extends, runtime_includes_and_extends_block )
76
71
  end
77
72
 
78
73
  ##########################################
79
- # include_cascades_prepending_includes #
74
+ # include_cascades_prepend_includes #
80
75
  ##########################################
81
76
 
82
- def include_cascades_prepending_includes( *includes, & runtime_includes_block )
83
- cluster_stack.include_prepends_includes( ModuleCluster::Define::ClusterCascades, __method__, includes, runtime_includes_block )
84
- return self
77
+ def include_cascades_prepend_includes( *includes, & runtime_includes_block )
78
+ return cluster_stack.include_prepends_includes( ModuleCluster::Define::ClusterCascades, __method__, includes, runtime_includes_block )
85
79
  end
86
80
 
87
81
  #########################################
88
- # include_cascades_prepending_extends #
82
+ # include_cascades_prepend_extends #
89
83
  #########################################
90
84
 
91
- def include_cascades_prepending_extends( *extends, & runtime_extends_block )
92
- cluster_stack.include_prepends_extends( ModuleCluster::Define::ClusterCascades, __method__, extends, runtime_extends_block )
93
- return self
85
+ def include_cascades_prepend_extends( *extends, & runtime_extends_block )
86
+ return cluster_stack.include_prepends_extends( ModuleCluster::Define::ClusterCascades, __method__, extends, runtime_extends_block )
94
87
  end
95
88
 
96
89
  ######################################################
97
- # include_cascades_prepending_includes_and_extends #
90
+ # include_cascades_prepend_includes_and_extends #
98
91
  ######################################################
99
92
 
100
- def include_cascades_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
101
- include_cascades_prepending_includes( *includes_and_extends, & runtime_includes_and_extends_block )
102
- include_cascades_prepending_extends( *includes_and_extends, & runtime_includes_and_extends_block )
103
- return self
93
+ def include_cascades_prepend_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
94
+ include_set = include_cascades_prepend_includes( *includes_and_extends, & runtime_includes_and_extends_block )
95
+ extend_set = include_cascades_prepend_extends( *includes_and_extends, & runtime_includes_and_extends_block )
96
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
104
97
  end
105
98
 
106
99
  #########################################
107
- # extend_cascades_prepending_includes #
100
+ # extend_cascades_prepend_includes #
108
101
  #########################################
109
102
 
110
- def extend_cascades_prepending_includes( *includes, & runtime_includes_block )
111
- cluster_stack.extend_prepends_includes( ModuleCluster::Define::ClusterCascades, __method__, includes, runtime_includes_block )
112
- return self
103
+ def extend_cascades_prepend_includes( *includes, & runtime_includes_block )
104
+ return cluster_stack.extend_prepends_includes( ModuleCluster::Define::ClusterCascades, __method__, includes, runtime_includes_block )
113
105
  end
114
106
 
115
107
  ########################################
116
- # extend_cascades_prepending_extends #
108
+ # extend_cascades_prepend_extends #
117
109
  ########################################
118
110
 
119
- def extend_cascades_prepending_extends( *extends, & runtime_extends_block )
120
- cluster_stack.extend_prepends_extends( ModuleCluster::Define::ClusterCascades, __method__, extends, runtime_extends_block )
121
- return self
111
+ def extend_cascades_prepend_extends( *extends, & runtime_extends_block )
112
+ return cluster_stack.extend_prepends_extends( ModuleCluster::Define::ClusterCascades, __method__, extends, runtime_extends_block )
122
113
  end
123
114
 
124
115
  #####################################################
125
- # extend_cascades_prepending_includes_and_extends #
116
+ # extend_cascades_prepend_includes_and_extends #
126
117
  #####################################################
127
118
 
128
- def extend_cascades_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
129
- extend_cascades_prepending_includes( *includes_and_extends, & runtime_includes_and_extends_block )
130
- extend_cascades_prepending_extends( *includes_and_extends, & runtime_includes_and_extends_block )
131
- return self
119
+ def extend_cascades_prepend_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
120
+ include_set = extend_cascades_prepend_includes( *includes_and_extends, & runtime_includes_and_extends_block )
121
+ extend_set = extend_cascades_prepend_extends( *includes_and_extends, & runtime_includes_and_extends_block )
122
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
132
123
  end
133
124
 
134
125
  #########################################
@@ -136,9 +127,9 @@ module ModuleCluster::Define::ClusterCascades
136
127
  #########################################
137
128
 
138
129
  def include_or_extend_cascades_includes( *includes, & runtime_includes_block )
139
- include_cascades_includes( *includes, & runtime_includes_block )
140
- extend_cascades_includes( *includes, & runtime_includes_block )
141
- return self
130
+ include_set = include_cascades_includes( *includes, & runtime_includes_block )
131
+ extend_set = extend_cascades_includes( *includes, & runtime_includes_block )
132
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
142
133
  end
143
134
 
144
135
  ########################################
@@ -146,9 +137,9 @@ module ModuleCluster::Define::ClusterCascades
146
137
  ########################################
147
138
 
148
139
  def include_or_extend_cascades_extends( *extends, & runtime_extends_block )
149
- include_cascades_extends( *extends, & runtime_extends_block )
150
- extend_cascades_extends( *extends, & runtime_extends_block )
151
- return self
140
+ include_set = include_cascades_extends( *extends, & runtime_extends_block )
141
+ extend_set = extend_cascades_extends( *extends, & runtime_extends_block )
142
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
152
143
  end
153
144
 
154
145
  #####################################################
@@ -156,39 +147,39 @@ module ModuleCluster::Define::ClusterCascades
156
147
  #####################################################
157
148
 
158
149
  def include_or_extend_cascades_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
159
- include_cascades_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
160
- extend_cascades_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
161
- return self
150
+ include_set = include_cascades_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
151
+ extend_set = extend_cascades_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
152
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
162
153
  end
163
154
 
164
155
  ####################################################
165
- # include_or_extend_cascades_prepending_includes #
156
+ # include_or_extend_cascades_prepend_includes #
166
157
  ####################################################
167
158
 
168
- def include_or_extend_cascades_prepending_includes( *includes, & runtime_includes_block )
169
- include_cascades_includes( *includes, & runtime_includes_block )
170
- extend_cascades_includes( *includes, & runtime_includes_block )
171
- return self
159
+ def include_or_extend_cascades_prepend_includes( *includes, & runtime_includes_block )
160
+ include_set = include_cascades_includes( *includes, & runtime_includes_block )
161
+ extend_set = extend_cascades_includes( *includes, & runtime_includes_block )
162
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
172
163
  end
173
164
 
174
165
  ###################################################
175
- # include_or_extend_cascades_prepending_extends #
166
+ # include_or_extend_cascades_prepend_extends #
176
167
  ###################################################
177
168
 
178
- def include_or_extend_cascades_prepending_extends( *extends, & runtime_extends_block )
179
- include_cascades_prepending_extends( *extends, & runtime_extends_block )
180
- extend_cascades_prepending_extends( *extends, & runtime_extends_block )
181
- return self
169
+ def include_or_extend_cascades_prepend_extends( *extends, & runtime_extends_block )
170
+ include_set = include_cascades_prepend_extends( *extends, & runtime_extends_block )
171
+ extend_set = extend_cascades_prepend_extends( *extends, & runtime_extends_block )
172
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
182
173
  end
183
174
 
184
175
  ################################################################
185
- # include_or_extend_cascades_prepending_includes_and_extends #
176
+ # include_or_extend_cascades_prepend_includes_and_extends #
186
177
  ################################################################
187
178
 
188
- def include_or_extend_cascades_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
189
- include_cascades_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
190
- extend_cascades_prepending_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
191
- return self
179
+ def include_or_extend_cascades_prepend_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
180
+ include_set = include_cascades_prepend_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
181
+ extend_set = extend_cascades_prepend_includes_and_extends( *includes_and_extends, & runtime_includes_and_extends_block )
182
+ return ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
192
183
  end
193
184
 
194
185
  end