module-cluster 1.4.0 → 1.4.1

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