module-cluster 1.3.0 → 1.3.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.
@@ -1,5 +1,7 @@
1
1
 
2
2
  module ModuleCluster
3
+ module Eigenclass
4
+ end
3
5
  module Define
4
6
  module AnonymousModule
5
7
  end
@@ -27,3 +29,4 @@ require_relative 'module-cluster/ModuleCluster/Define/ModuleClusterCascadesToCla
27
29
  require_relative 'module-cluster/ModuleCluster/Define/ModuleClusterCascadesToModule.rb'
28
30
  require_relative 'module-cluster/ModuleCluster/Define/Deprecated.rb'
29
31
  require_relative 'module-cluster/ModuleCluster.rb'
32
+
@@ -1,6 +1,6 @@
1
1
 
2
2
  module ModuleCluster
3
-
3
+
4
4
  include ModuleCluster::Define::ClusterStack
5
5
 
6
6
  include ModuleCluster::Define::ModuleCluster
@@ -3,17 +3,38 @@ module ModuleCluster::Define::ModuleCluster
3
3
 
4
4
  include ModuleCluster::Define::AnonymousModule
5
5
 
6
+ ########################
7
+ # self.include_block #
8
+ ########################
9
+
10
+ def self.include_block( *includes )
11
+ return Proc.new do
12
+ unless ( includes -= ancestors ).empty?
13
+ include( *includes.reverse )
14
+ end
15
+ end
16
+ end
17
+
18
+ #######################
19
+ # self.extend_block #
20
+ #######################
21
+
22
+ def self.extend_block( *extends )
23
+ return Proc.new do
24
+ eigenclass = class << self ; self ; end
25
+ unless ( extends -= eigenclass.ancestors ).empty?
26
+ extend( *extends.reverse )
27
+ end
28
+ end
29
+ end
30
+
6
31
  ###########################
7
32
  # include_also_includes #
8
33
  ###########################
9
34
 
10
35
  def include_also_includes( *includes )
11
- unless ( includes -= ancestors ).empty?
12
- includes_module = anonymous_module_for_included do
13
- include( *includes.reverse )
14
- end
15
- clusterstack_module { include( includes_module ) }
16
- end
36
+ includes_module = anonymous_module_for_included( & ModuleCluster::Define::ModuleCluster.include_block( *includes ) )
37
+ clusterstack_module { include( includes_module ) }
17
38
  return self
18
39
  end
19
40
 
@@ -22,12 +43,8 @@ module ModuleCluster::Define::ModuleCluster
22
43
  ##########################
23
44
 
24
45
  def include_also_extends( *extends )
25
- unless ( extends -= eigenclass.ancestors ).empty?
26
- extends_module = anonymous_module_for_included do
27
- extend( *extends.reverse )
28
- end
29
- clusterstack_module { include( extends_module ) }
30
- end
46
+ extends_module = anonymous_module_for_included( & ModuleCluster::Define::ModuleCluster.extend_block( *extends ) )
47
+ clusterstack_module { include( extends_module ) }
31
48
  return self
32
49
  end
33
50
 
@@ -46,12 +63,8 @@ module ModuleCluster::Define::ModuleCluster
46
63
  ##########################
47
64
 
48
65
  def extend_also_includes( *includes )
49
- unless ( includes -= ancestors ).empty?
50
- includes_module = anonymous_module_for_extended do
51
- include( *includes.reverse )
52
- end
53
- clusterstack_module { include( includes_module ) }
54
- end
66
+ includes_module = anonymous_module_for_extended( & ModuleCluster::Define::ModuleCluster.include_block( *includes ) )
67
+ clusterstack_module { include( includes_module ) }
55
68
  return self
56
69
  end
57
70
 
@@ -60,12 +73,8 @@ module ModuleCluster::Define::ModuleCluster
60
73
  #########################
61
74
 
62
75
  def extend_also_extends( *extends )
63
- unless ( extends -= eigenclass.ancestors ).empty?
64
- extends_module = anonymous_module_for_extended do
65
- extend( *extends.reverse )
66
- end
67
- clusterstack_module { include( extends_module ) }
68
- end
76
+ extends_module = anonymous_module_for_extended( & ModuleCluster::Define::ModuleCluster.extend_block( *extends ) )
77
+ clusterstack_module { include( extends_module ) }
69
78
  return self
70
79
  end
71
80
 
@@ -84,12 +93,8 @@ module ModuleCluster::Define::ModuleCluster
84
93
  ###############################
85
94
 
86
95
  def include_prepends_includes( *includes )
87
- unless ( includes -= ancestors ).empty?
88
- includes_module = anonymous_module_for_append_features do
89
- include( *includes.reverse )
90
- end
91
- clusterstack_module { include( includes_module ) }
92
- end
96
+ includes_module = anonymous_module_for_append_features( & ModuleCluster::Define::ModuleCluster.include_block( *includes ) )
97
+ clusterstack_module { include( includes_module ) }
93
98
  return self
94
99
  end
95
100
 
@@ -98,12 +103,8 @@ module ModuleCluster::Define::ModuleCluster
98
103
  ##############################
99
104
 
100
105
  def include_prepends_extends( *extends )
101
- unless ( extends -= eigenclass.ancestors ).empty?
102
- extends_module = anonymous_module_for_append_features do
103
- extend( *extends.reverse )
104
- end
105
- clusterstack_module { include( extends_module ) }
106
- end
106
+ extends_module = anonymous_module_for_append_features( & ModuleCluster::Define::ModuleCluster.extend_block( *extends ) )
107
+ clusterstack_module { include( extends_module ) }
107
108
  return self
108
109
  end
109
110
 
@@ -122,12 +123,8 @@ module ModuleCluster::Define::ModuleCluster
122
123
  ##############################
123
124
 
124
125
  def extend_prepends_includes( *includes )
125
- unless ( includes -= ancestors ).empty?
126
- includes_module = anonymous_module_for_extend_object do
127
- include( *includes.reverse )
128
- end
129
- clusterstack_module { include( includes_module ) }
130
- end
126
+ includes_module = anonymous_module_for_extend_object( & ModuleCluster::Define::ModuleCluster.include_block( *includes ) )
127
+ clusterstack_module { include( includes_module ) }
131
128
  return self
132
129
  end
133
130
 
@@ -136,12 +133,8 @@ module ModuleCluster::Define::ModuleCluster
136
133
  #############################
137
134
 
138
135
  def extend_prepends_extends( *extends )
139
- unless ( extends -= eigenclass.ancestors ).empty?
140
- extends_module = anonymous_module_for_extend_object do
141
- extend( *extends.reverse )
142
- end
143
- clusterstack_module { include( extends_module ) }
144
- end
136
+ extends_module = anonymous_module_for_extend_object( & ModuleCluster::Define::ModuleCluster.extend_block( *extends ) )
137
+ clusterstack_module { include( extends_module ) }
145
138
  return self
146
139
  end
147
140
 
@@ -2,20 +2,44 @@
2
2
  module ModuleCluster::Define::ModuleClusterCascades
3
3
 
4
4
  include ModuleCluster::Define::AnonymousModule
5
+
6
+ ########################
7
+ # self.include_block #
8
+ ########################
9
+
10
+ def self.include_block( cascade_method, *includes )
11
+ return Proc.new do
12
+ unless ( includes -= ancestors ).empty?
13
+ extend ModuleCluster::Define::ModuleClusterCascades
14
+ __send__( cascade_method, *includes )
15
+ include( *includes.reverse )
16
+ end
17
+ end
18
+ end
19
+
20
+ #######################
21
+ # self.extend_block #
22
+ #######################
23
+
24
+ def self.extend_block( cascade_method, *extends )
25
+ return Proc.new do
26
+ eigenclass = class << self ; self ; end
27
+ unless ( extends -= eigenclass.ancestors ).empty?
28
+ extend ModuleCluster::Define::ModuleClusterCascades
29
+ __send__( cascade_method, *extends )
30
+ extend( *extends.reverse )
31
+ end
32
+ end
33
+ end
5
34
 
6
35
  ###############################
7
36
  # include_cascades_includes #
8
37
  ###############################
9
38
 
10
39
  def include_cascades_includes( *includes )
11
- unless ( includes -= ancestors ).empty?
12
- includes_module = anonymous_module_for_included( 'Cascades' ) do
13
- extend ModuleCluster::Define::ModuleClusterCascades
14
- include_cascades_includes( *includes )
15
- include( *includes.reverse )
16
- end
17
- clusterstack_module { include( includes_module ) }
18
- end
40
+ include_block = ModuleCluster::Define::ModuleClusterCascades.include_block( :include_cascades_includes, *includes )
41
+ includes_module = anonymous_module_for_included( 'Cascades', & include_block )
42
+ clusterstack_module { include( includes_module ) }
19
43
  return self
20
44
  end
21
45
 
@@ -24,14 +48,9 @@ module ModuleCluster::Define::ModuleClusterCascades
24
48
  ##############################
25
49
 
26
50
  def include_cascades_extends( *extends )
27
- unless ( extends -= eigenclass.ancestors ).empty?
28
- extends_module = anonymous_module_for_included( 'Cascades' ) do
29
- extend ModuleCluster::Define::ModuleClusterCascades
30
- include_cascades_extends( *extends )
31
- extend( *extends.reverse )
32
- end
33
- clusterstack_module { include( extends_module ) }
34
- end
51
+ extend_block = ModuleCluster::Define::ModuleClusterCascades.extend_block( :include_cascades_extends, *extends )
52
+ extends_module = anonymous_module_for_included( 'Cascades', & extend_block )
53
+ clusterstack_module { include( extends_module ) }
35
54
  return self
36
55
  end
37
56
 
@@ -50,14 +69,9 @@ module ModuleCluster::Define::ModuleClusterCascades
50
69
  ##############################
51
70
 
52
71
  def extend_cascades_includes( *includes )
53
- unless ( includes -= ancestors ).empty?
54
- includes_module = anonymous_module_for_extended( 'Cascades' ) do
55
- extend ModuleCluster::Define::ModuleClusterCascades
56
- extend_cascades_includes( *includes )
57
- include( *includes.reverse )
58
- end
59
- clusterstack_module { include( includes_module ) }
60
- end
72
+ include_block = ModuleCluster::Define::ModuleClusterCascades.include_block( :extend_cascades_includes, *includes )
73
+ includes_module = anonymous_module_for_extended( 'Cascades', & include_block )
74
+ clusterstack_module { include( includes_module ) }
61
75
  return self
62
76
  end
63
77
 
@@ -66,14 +80,9 @@ module ModuleCluster::Define::ModuleClusterCascades
66
80
  #############################
67
81
 
68
82
  def extend_cascades_extends( *extends )
69
- unless ( extends -= eigenclass.ancestors ).empty?
70
- extends_module = anonymous_module_for_extended( 'Cascades' ) do
71
- extend ModuleCluster::Define::ModuleClusterCascades
72
- extend_cascades_extends( *extends )
73
- extend( *extends.reverse )
74
- end
75
- clusterstack_module { include( extends_module ) }
76
- end
83
+ extend_block = ModuleCluster::Define::ModuleClusterCascades.extend_block( :extend_cascades_extends, *extends )
84
+ extends_module = anonymous_module_for_extended( 'Cascades', & extend_block )
85
+ clusterstack_module { include( extends_module ) }
77
86
  return self
78
87
  end
79
88
 
@@ -92,14 +101,9 @@ module ModuleCluster::Define::ModuleClusterCascades
92
101
  ##########################################
93
102
 
94
103
  def include_cascades_prepending_includes( *includes )
95
- unless ( includes -= ancestors ).empty?
96
- includes_module = anonymous_module_for_append_features( 'Cascades' ) do
97
- extend ModuleCluster::Define::ModuleClusterCascades
98
- include_cascades_prepending_includes( *includes )
99
- include( *includes.reverse )
100
- end
101
- clusterstack_module { include( includes_module ) }
102
- end
104
+ include_block = ModuleCluster::Define::ModuleClusterCascades.include_block( :include_cascades_prepending_includes, *includes )
105
+ includes_module = anonymous_module_for_append_features( 'Cascades', & include_block )
106
+ clusterstack_module { include( includes_module ) }
103
107
  return self
104
108
  end
105
109
 
@@ -108,14 +112,9 @@ module ModuleCluster::Define::ModuleClusterCascades
108
112
  #########################################
109
113
 
110
114
  def include_cascades_prepending_extends( *extends )
111
- unless ( extends -= eigenclass.ancestors ).empty?
112
- extends_module = anonymous_module_for_append_features( 'Cascades' ) do
113
- extend ModuleCluster::Define::ModuleClusterCascades
114
- include_cascades_prepending_extends( *extends )
115
- extend( *extends.reverse )
116
- end
117
- clusterstack_module { include( extends_module ) }
118
- end
115
+ extend_block = ModuleCluster::Define::ModuleClusterCascades.extend_block( :include_cascades_prepending_extends, *extends )
116
+ extends_module = anonymous_module_for_append_features( 'Cascades', & extend_block )
117
+ clusterstack_module { include( extends_module ) }
119
118
  return self
120
119
  end
121
120
 
@@ -134,14 +133,9 @@ module ModuleCluster::Define::ModuleClusterCascades
134
133
  #########################################
135
134
 
136
135
  def extend_cascades_prepending_includes( *includes )
137
- unless ( includes -= ancestors ).empty?
138
- includes_module = anonymous_module_for_extend_object( 'Cascades' ) do
139
- extend ModuleCluster::Define::ModuleClusterCascades
140
- extend_cascades_prepending_includes( *includes )
141
- include( *includes.reverse )
142
- end
143
- clusterstack_module { include( includes_module ) }
144
- end
136
+ include_block = ModuleCluster::Define::ModuleClusterCascades.include_block( :extend_cascades_prepending_includes, *includes )
137
+ includes_module = anonymous_module_for_extend_object( 'Cascades', & include_block )
138
+ clusterstack_module { include( includes_module ) }
145
139
  return self
146
140
  end
147
141
 
@@ -150,14 +144,9 @@ module ModuleCluster::Define::ModuleClusterCascades
150
144
  ########################################
151
145
 
152
146
  def extend_cascades_prepending_extends( *extends )
153
- unless ( extends -= eigenclass.ancestors ).empty?
154
- extends_module = anonymous_module_for_extend_object( 'Cascades' ) do
155
- extend ModuleCluster::Define::ModuleClusterCascades
156
- extend_cascades_prepending_extends( *extends )
157
- extend( *extends.reverse )
158
- end
159
- clusterstack_module { include( extends_module ) }
160
- end
147
+ extend_block = ModuleCluster::Define::ModuleClusterCascades.extend_block( :extend_cascades_prepending_extends, *extends )
148
+ extends_module = anonymous_module_for_extend_object( 'Cascades', & extend_block )
149
+ clusterstack_module { include( extends_module ) }
161
150
  return self
162
151
  end
163
152
 
@@ -3,19 +3,43 @@ module ModuleCluster::Define::ModuleClusterCascadesToClass
3
3
 
4
4
  include ModuleCluster::Define::AnonymousModule
5
5
 
6
+ ########################
7
+ # self.include_block #
8
+ ########################
9
+
10
+ def self.include_block( cascade_method, *includes )
11
+ return Proc.new do
12
+ unless ( includes -= ancestors ).empty?
13
+ extend ModuleCluster::Define::ModuleClusterCascadesToClass
14
+ __send__( cascade_method, *includes )
15
+ include( *includes.reverse ) if is_a?( Class )
16
+ end
17
+ end
18
+ end
19
+
20
+ #######################
21
+ # self.extend_block #
22
+ #######################
23
+
24
+ def self.extend_block( cascade_method, *extends )
25
+ return Proc.new do
26
+ eigenclass = class << self ; self ; end
27
+ unless ( extends -= eigenclass.ancestors ).empty?
28
+ extend ModuleCluster::Define::ModuleClusterCascadesToClass
29
+ __send__( cascade_method, *extends )
30
+ extend( *extends.reverse ) if is_a?( Class )
31
+ end
32
+ end
33
+ end
34
+
6
35
  ########################################
7
36
  # include_cascades_includes_to_class #
8
37
  ########################################
9
38
 
10
39
  def include_cascades_includes_to_class( *includes )
11
- unless ( includes -= ancestors ).empty?
12
- includes_module = anonymous_module_for_included( 'CascadesToClass' ) do
13
- extend ModuleCluster::Define::ModuleClusterCascadesToClass
14
- include_cascades_includes_to_class( *includes )
15
- include( *includes.reverse ) if is_a?( Class )
16
- end
17
- clusterstack_module { include( includes_module ) }
18
- end
40
+ include_block = ModuleCluster::Define::ModuleClusterCascadesToClass.include_block( :include_cascades_includes_to_class, *includes )
41
+ includes_module = anonymous_module_for_included( 'CascadesToClass', & include_block )
42
+ clusterstack_module { include( includes_module ) }
19
43
  return self
20
44
  end
21
45
 
@@ -24,14 +48,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToClass
24
48
  #######################################
25
49
 
26
50
  def include_cascades_extends_to_class( *extends )
27
- unless ( extends -= eigenclass.ancestors ).empty?
28
- extends_module = anonymous_module_for_included( 'CascadesToClass' ) do
29
- extend ModuleCluster::Define::ModuleClusterCascadesToClass
30
- include_cascades_extends_to_class( *extends )
31
- extend( *extends.reverse ) if is_a?( Class )
32
- end
33
- clusterstack_module { include( extends_module ) }
34
- end
51
+ extend_block = ModuleCluster::Define::ModuleClusterCascadesToClass.extend_block( :include_cascades_extends_to_class, *extends )
52
+ extends_module = anonymous_module_for_included( 'CascadesToClass', & extend_block )
53
+ clusterstack_module { include( extends_module ) }
35
54
  return self
36
55
  end
37
56
 
@@ -50,14 +69,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToClass
50
69
  #######################################
51
70
 
52
71
  def extend_cascades_includes_to_class( *includes )
53
- unless ( includes -= ancestors ).empty?
54
- includes_module = anonymous_module_for_extended( 'CascadesToClass' ) do
55
- extend ModuleCluster::Define::ModuleClusterCascadesToClass
56
- extend_cascades_includes_to_class( *includes )
57
- include( *includes.reverse ) if is_a?( Class )
58
- end
59
- clusterstack_module { include( includes_module ) }
60
- end
72
+ include_block = ModuleCluster::Define::ModuleClusterCascadesToClass.include_block( :extend_cascades_includes_to_class, *includes )
73
+ includes_module = anonymous_module_for_extended( 'CascadesToClass', & include_block )
74
+ clusterstack_module { include( includes_module ) }
61
75
  return self
62
76
  end
63
77
 
@@ -66,14 +80,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToClass
66
80
  ######################################
67
81
 
68
82
  def extend_cascades_extends_to_class( *extends )
69
- unless ( extends -= eigenclass.ancestors ).empty?
70
- extends_module = anonymous_module_for_extended( 'CascadesToClass' ) do
71
- extend ModuleCluster::Define::ModuleClusterCascadesToClass
72
- extend_cascades_extends_to_class( *extends )
73
- extend( *extends.reverse ) if is_a?( Class )
74
- end
75
- clusterstack_module { include( extends_module ) }
76
- end
83
+ extend_block = ModuleCluster::Define::ModuleClusterCascadesToClass.extend_block( :extend_cascades_extends_to_class, *extends )
84
+ extends_module = anonymous_module_for_extended( 'CascadesToClass', & extend_block )
85
+ clusterstack_module { include( extends_module ) }
77
86
  return self
78
87
  end
79
88
 
@@ -92,14 +101,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToClass
92
101
  ###################################################
93
102
 
94
103
  def include_cascades_to_class_prepending_includes( *includes )
95
- unless ( includes -= ancestors ).empty?
96
- includes_module = anonymous_module_for_append_features( 'CascadesToClass' ) do
97
- extend ModuleCluster::Define::ModuleClusterCascadesToClass
98
- include_cascades_to_class_prepending_includes( *includes )
99
- include( *includes.reverse ) if is_a?( Class )
100
- end
101
- clusterstack_module { include( includes_module ) }
102
- end
104
+ include_block = ModuleCluster::Define::ModuleClusterCascadesToClass.include_block( :include_cascades_to_class_prepending_includes, *includes )
105
+ includes_module = anonymous_module_for_append_features( 'CascadesToClass', & include_block )
106
+ clusterstack_module { include( includes_module ) }
103
107
  return self
104
108
  end
105
109
 
@@ -108,14 +112,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToClass
108
112
  ##################################################
109
113
 
110
114
  def include_cascades_to_class_prepending_extends( *extends )
111
- unless ( extends -= eigenclass.ancestors ).empty?
112
- extends_module = anonymous_module_for_append_features( 'CascadesToClass' ) do
113
- extend ModuleCluster::Define::ModuleClusterCascadesToClass
114
- include_cascades_to_class_prepending_extends( *extends )
115
- extend( *extends.reverse ) if is_a?( Class )
116
- end
117
- clusterstack_module { include( extends_module ) }
118
- end
115
+ extend_block = ModuleCluster::Define::ModuleClusterCascadesToClass.extend_block( :include_cascades_to_class_prepending_extends, *extends )
116
+ extends_module = anonymous_module_for_append_features( 'CascadesToClass', & extend_block )
117
+ clusterstack_module { include( extends_module ) }
119
118
  return self
120
119
  end
121
120
 
@@ -134,14 +133,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToClass
134
133
  ##################################################
135
134
 
136
135
  def extend_cascades_to_class_prepending_includes( *includes )
137
- unless ( includes -= ancestors ).empty?
138
- includes_module = anonymous_module_for_extend_object( 'CascadesToClass' ) do
139
- extend ModuleCluster::Define::ModuleClusterCascadesToClass
140
- extend_cascades_to_class_prepending_includes( *includes )
141
- include( *includes.reverse ) if is_a?( Class )
142
- end
143
- clusterstack_module { include( includes_module ) }
144
- end
136
+ include_block = ModuleCluster::Define::ModuleClusterCascadesToClass.include_block( :extend_cascades_to_class_prepending_includes, *includes )
137
+ includes_module = anonymous_module_for_extend_object( 'CascadesToClass', & include_block )
138
+ clusterstack_module { include( includes_module ) }
145
139
  return self
146
140
  end
147
141
 
@@ -150,14 +144,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToClass
150
144
  #################################################
151
145
 
152
146
  def extend_cascades_to_class_prepending_extends( *extends )
153
- unless ( extends -= eigenclass.ancestors ).empty?
154
- extends_module = anonymous_module_for_extend_object( 'CascadesToClass' ) do
155
- extend ModuleCluster::Define::ModuleClusterCascadesToClass
156
- extend_cascades_to_class_prepending_extends( *extends )
157
- extend( *extends.reverse ) if is_a?( Class )
158
- end
159
- clusterstack_module { include( extends_module ) }
160
- end
147
+ extend_block = ModuleCluster::Define::ModuleClusterCascadesToClass.extend_block( :extend_cascades_to_class_prepending_extends, *extends )
148
+ extends_module = anonymous_module_for_extend_object( 'CascadesToClass', & extend_block )
149
+ clusterstack_module { include( extends_module ) }
161
150
  return self
162
151
  end
163
152
 
@@ -3,21 +3,47 @@ module ModuleCluster::Define::ModuleClusterCascadesToModule
3
3
 
4
4
  include ModuleCluster::Define::AnonymousModule
5
5
 
6
+ ########################
7
+ # self.include_block #
8
+ ########################
9
+
10
+ def self.include_block( cascade_method, *includes )
11
+ return Proc.new do
12
+ unless is_a?( Class )
13
+ extend ModuleCluster::Define::ModuleClusterCascadesToModule
14
+ __send__( cascade_method, *includes )
15
+ unless ( includes -= ancestors ).empty?
16
+ include( *includes.reverse )
17
+ end
18
+ end
19
+ end
20
+ end
21
+
22
+ #######################
23
+ # self.extend_block #
24
+ #######################
25
+
26
+ def self.extend_block( cascade_method, *extends )
27
+ return Proc.new do
28
+ unless is_a?( Class )
29
+ eigenclass = class << self ; self ; end
30
+ extend ModuleCluster::Define::ModuleClusterCascadesToModule
31
+ __send__( cascade_method, *extends )
32
+ unless ( extends -= eigenclass.ancestors ).empty?
33
+ extend( *extends.reverse )
34
+ end
35
+ end
36
+ end
37
+ end
38
+
6
39
  #########################################
7
40
  # include_cascades_includes_to_module #
8
41
  #########################################
9
42
 
10
43
  def include_cascades_includes_to_module( *includes )
11
- unless ( includes -= ancestors ).empty?
12
- includes_module = anonymous_module_for_included( 'CascadesToModule' ) do
13
- unless is_a?( Class )
14
- extend ModuleCluster::Define::ModuleClusterCascadesToModule
15
- include_cascades_includes_to_module( *includes )
16
- include( *includes.reverse )
17
- end
18
- end
19
- clusterstack_module { include( includes_module ) }
20
- end
44
+ include_block = ModuleCluster::Define::ModuleClusterCascadesToModule.include_block( :include_cascades_includes_to_module, *includes )
45
+ includes_module = anonymous_module_for_included( 'CascadesToModule', & include_block )
46
+ clusterstack_module { include( includes_module ) }
21
47
  return self
22
48
  end
23
49
 
@@ -26,16 +52,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToModule
26
52
  ########################################
27
53
 
28
54
  def include_cascades_extends_to_module( *extends )
29
- unless ( extends -= eigenclass.ancestors ).empty?
30
- extends_module = anonymous_module_for_included( 'CascadesToModule' ) do
31
- unless is_a?( Class )
32
- extend ModuleCluster::Define::ModuleClusterCascadesToModule
33
- include_cascades_extends_to_module( *extends )
34
- extend( *extends.reverse )
35
- end
36
- end
37
- clusterstack_module { include( extends_module ) }
38
- end
55
+ extend_block = ModuleCluster::Define::ModuleClusterCascadesToModule.extend_block( :include_cascades_extends_to_module, *extends )
56
+ extends_module = anonymous_module_for_included( 'CascadesToModule', & extend_block )
57
+ clusterstack_module { include( extends_module ) }
39
58
  return self
40
59
  end
41
60
 
@@ -54,16 +73,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToModule
54
73
  ########################################
55
74
 
56
75
  def extend_cascades_includes_to_module( *includes )
57
- unless ( includes -= ancestors ).empty?
58
- includes_module = anonymous_module_for_extended( 'CascadesToModule' ) do
59
- unless is_a?( Class )
60
- extend ModuleCluster::Define::ModuleClusterCascadesToModule
61
- extend_cascades_includes_to_module( *includes )
62
- include( *includes.reverse )
63
- end
64
- end
65
- clusterstack_module { include( includes_module ) }
66
- end
76
+ include_block = ModuleCluster::Define::ModuleClusterCascadesToModule.include_block( :extend_cascades_includes_to_module, *includes )
77
+ includes_module = anonymous_module_for_extended( 'CascadesToModule', & include_block )
78
+ clusterstack_module { include( includes_module ) }
67
79
  return self
68
80
  end
69
81
 
@@ -72,16 +84,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToModule
72
84
  #######################################
73
85
 
74
86
  def extend_cascades_extends_to_module( *extends )
75
- unless ( extends -= eigenclass.ancestors ).empty?
76
- extends_module = anonymous_module_for_extended( 'CascadesToModule' ) do
77
- unless is_a?( Class )
78
- extend ModuleCluster::Define::ModuleClusterCascadesToModule
79
- extend_cascades_extends_to_module( *extends )
80
- extend( *extends.reverse )
81
- end
82
- end
83
- clusterstack_module { include( extends_module ) }
84
- end
87
+ extend_block = ModuleCluster::Define::ModuleClusterCascadesToModule.extend_block( :extend_cascades_extends_to_module, *extends )
88
+ extends_module = anonymous_module_for_extended( 'CascadesToModule', & extend_block )
89
+ clusterstack_module { include( extends_module ) }
85
90
  return self
86
91
  end
87
92
 
@@ -100,16 +105,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToModule
100
105
  ####################################################
101
106
 
102
107
  def include_cascades_to_module_prepending_includes( *includes )
103
- unless ( includes -= ancestors ).empty?
104
- includes_module = anonymous_module_for_append_features( 'CascadesToModule' ) do
105
- unless is_a?( Class )
106
- extend ModuleCluster::Define::ModuleClusterCascadesToModule
107
- include_cascades_to_module_prepending_includes( *includes )
108
- include( *includes.reverse )
109
- end
110
- end
111
- clusterstack_module { include( includes_module ) }
112
- end
108
+ include_block = ModuleCluster::Define::ModuleClusterCascadesToModule.include_block( :include_cascades_to_module_prepending_includes, *includes )
109
+ includes_module = anonymous_module_for_append_features( 'CascadesToModule', & include_block )
110
+ clusterstack_module { include( includes_module ) }
113
111
  return self
114
112
  end
115
113
 
@@ -118,16 +116,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToModule
118
116
  ###################################################
119
117
 
120
118
  def include_cascades_to_module_prepending_extends( *extends )
121
- unless ( extends -= eigenclass.ancestors ).empty?
122
- extends_module = anonymous_module_for_append_features( 'CascadesToModule' ) do
123
- unless is_a?( Class )
124
- extend ModuleCluster::Define::ModuleClusterCascadesToModule
125
- include_cascades_to_module_prepending_extends( *extends )
126
- extend( *extends.reverse )
127
- end
128
- end
129
- clusterstack_module { include( extends_module ) }
130
- end
119
+ extend_block = ModuleCluster::Define::ModuleClusterCascadesToModule.extend_block( :include_cascades_to_module_prepending_extends, *extends )
120
+ extends_module = anonymous_module_for_append_features( 'CascadesToModule', & extend_block )
121
+ clusterstack_module { include( extends_module ) }
131
122
  return self
132
123
  end
133
124
 
@@ -146,16 +137,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToModule
146
137
  ###################################################
147
138
 
148
139
  def extend_cascades_to_module_prepending_includes( *includes )
149
- unless ( includes -= ancestors ).empty?
150
- includes_module = anonymous_module_for_extend_object( 'CascadesToModule' ) do
151
- unless is_a?( Class )
152
- extend ModuleCluster::Define::ModuleClusterCascadesToModule
153
- extend_cascades_to_module_prepending_includes( *includes )
154
- include( *includes.reverse )
155
- end
156
- end
157
- clusterstack_module { include( includes_module ) }
158
- end
140
+ include_block = ModuleCluster::Define::ModuleClusterCascadesToModule.include_block( :extend_cascades_to_module_prepending_includes, *includes )
141
+ includes_module = anonymous_module_for_extend_object( 'CascadesToModule', & include_block )
142
+ clusterstack_module { include( includes_module ) }
159
143
  return self
160
144
  end
161
145
 
@@ -164,16 +148,9 @@ module ModuleCluster::Define::ModuleClusterCascadesToModule
164
148
  ##################################################
165
149
 
166
150
  def extend_cascades_to_module_prepending_extends( *extends )
167
- unless ( extends -= eigenclass.ancestors ).empty?
168
- extends_module = anonymous_module_for_extend_object( 'CascadesToModule' ) do
169
- unless is_a?( Class )
170
- extend ModuleCluster::Define::ModuleClusterCascadesToModule
171
- extend_cascades_to_module_prepending_extends( *extends )
172
- extend( *extends.reverse )
173
- end
174
- end
175
- clusterstack_module { include( extends_module ) }
176
- end
151
+ extend_block = ModuleCluster::Define::ModuleClusterCascadesToModule.extend_block( :extend_cascades_to_module_prepending_extends, *extends )
152
+ extends_module = anonymous_module_for_extend_object( 'CascadesToModule', & extend_block )
153
+ clusterstack_module { include( extends_module ) }
177
154
  return self
178
155
  end
179
156
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 3
8
- - 0
9
- version: 1.3.0
8
+ - 1
9
+ version: 1.3.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Asher
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-08-03 00:00:00 -04:00
17
+ date: 2011-08-04 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies: []
20
20