module-cluster 1.4.8 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. data/README.md +127 -337
  2. data/lib/module-cluster.rb +1 -153
  3. data/lib/module/cluster.rb +341 -0
  4. data/lib/module/cluster/class_support.rb +22 -0
  5. data/lib/module/cluster/cluster.rb +10 -0
  6. data/lib/module/cluster/cluster/cluster_interface.rb +550 -0
  7. data/lib/module/cluster/exception/module_not_in_stack.rb +26 -0
  8. data/lib/module/cluster/instance_controller.rb +14 -0
  9. data/lib/module/cluster/instance_controller/hook_controller.rb +33 -0
  10. data/lib/module/cluster/instance_controller/hook_controller/chain_proxy.rb +511 -0
  11. data/lib/module/cluster/instance_controller/hook_controller/hook_controller_interface.rb +830 -0
  12. data/lib/module/cluster/instance_controller/instance_controller_interface.rb +269 -0
  13. data/lib/module/cluster/instance_controller/multiple_hook_controller_proxy.rb +359 -0
  14. data/lib/module/cluster/instance_controller/multiple_hook_controller_proxy/chain_proxy.rb +442 -0
  15. data/lib/module/cluster/module_support.rb +67 -0
  16. data/lib/module/namespaces.rb +13 -0
  17. data/lib/module/requires.rb +32 -0
  18. data/spec/module/cluster/cluster_spec.rb +473 -0
  19. data/spec/module/cluster/instance_controller/hook_controller_spec.rb +922 -0
  20. data/spec/module/cluster/instance_controller/multiple_hook_controller_proxy_spec.rb +1240 -0
  21. data/spec/module/cluster_spec.rb +1794 -0
  22. metadata +27 -98
  23. data/README.rdoc +0 -395
  24. data/lib/module-cluster/ModuleCluster.rb +0 -9
  25. data/lib/module-cluster/ModuleCluster/Define.rb +0 -12
  26. data/lib/module-cluster/ModuleCluster/Define/Block.rb +0 -9
  27. data/lib/module-cluster/ModuleCluster/Define/Block/CascadingClass.rb +0 -83
  28. data/lib/module-cluster/ModuleCluster/Define/Block/CascadingClassOrModule.rb +0 -70
  29. data/lib/module-cluster/ModuleCluster/Define/Block/CascadingModule.rb +0 -79
  30. data/lib/module-cluster/ModuleCluster/Define/Block/CascadingModuleOrSubclass.rb +0 -21
  31. data/lib/module-cluster/ModuleCluster/Define/Block/Class.rb +0 -77
  32. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrInstance.rb +0 -78
  33. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrModule.rb +0 -78
  34. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrModuleOrInstance.rb +0 -78
  35. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrModuleOrSubclass.rb +0 -36
  36. data/lib/module-cluster/ModuleCluster/Define/Block/ClassOrSubclass.rb +0 -29
  37. data/lib/module-cluster/ModuleCluster/Define/Block/Instance.rb +0 -45
  38. data/lib/module-cluster/ModuleCluster/Define/Block/Module.rb +0 -77
  39. data/lib/module-cluster/ModuleCluster/Define/Block/ModuleOrInstance.rb +0 -78
  40. data/lib/module-cluster/ModuleCluster/Define/Block/ModuleOrSubclass.rb +0 -29
  41. data/lib/module-cluster/ModuleCluster/Define/Block/Subclass.rb +0 -56
  42. data/lib/module-cluster/ModuleCluster/Define/ClassCluster.rb +0 -193
  43. data/lib/module-cluster/ModuleCluster/Define/ClassOrInstanceCluster.rb +0 -128
  44. data/lib/module-cluster/ModuleCluster/Define/Cluster.rb +0 -181
  45. data/lib/module-cluster/ModuleCluster/Define/ClusterCascades.rb +0 -185
  46. data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToClass.rb +0 -181
  47. data/lib/module-cluster/ModuleCluster/Define/ClusterCascadesToModule.rb +0 -181
  48. data/lib/module-cluster/ModuleCluster/Define/Deprecated.rb +0 -40
  49. data/lib/module-cluster/ModuleCluster/Define/InstanceCluster.rb +0 -45
  50. data/lib/module-cluster/ModuleCluster/Define/ModuleCluster.rb +0 -193
  51. data/lib/module-cluster/ModuleCluster/Define/ModuleOrClassCluster.rb +0 -209
  52. data/lib/module-cluster/ModuleCluster/Define/ModuleOrInstanceCluster.rb +0 -128
  53. data/lib/module-cluster/ModuleCluster/Define/Status.rb +0 -106
  54. data/lib/module-cluster/ModuleCluster/Suspend.rb +0 -7
  55. data/lib/module-cluster/ModuleCluster/Suspend/Hooks.rb +0 -315
  56. data/lib/module-cluster/ModuleCluster/Suspend/WithoutHooks.rb +0 -153
  57. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures.rb +0 -77
  58. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/ClusterStack.rb +0 -44
  59. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/PerformCascades.rb +0 -292
  60. data/lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/Subclass.rb +0 -24
  61. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack.rb +0 -12
  62. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block.rb +0 -9
  63. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Class.rb +0 -36
  64. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Inherited.rb +0 -20
  65. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Instance.rb +0 -20
  66. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Module.rb +0 -36
  67. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Set.rb +0 -6
  68. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Extends.rb +0 -140
  69. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Includes.rb +0 -110
  70. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/PrependsExtends.rb +0 -140
  71. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/PrependsIncludes.rb +0 -110
  72. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Set.rb +0 -35
  73. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Set/MultiSetProxy.rb +0 -359
  74. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Status.rb +0 -55
  75. data/lib/module-cluster/_private_/ModuleCluster/ClusterStack/Suspend.rb +0 -199
  76. data/lib/module-cluster/_private_/ModuleCluster/ExtendForCascade.rb +0 -34
  77. data/spec/ModuleCluster/Define/Block/CascadingClassOrModule_spec.rb +0 -285
  78. data/spec/ModuleCluster/Define/Block/CascadingClass_spec.rb +0 -254
  79. data/spec/ModuleCluster/Define/Block/CascadingModuleOrSubclass_spec.rb +0 -56
  80. data/spec/ModuleCluster/Define/Block/CascadingModule_spec.rb +0 -278
  81. data/spec/ModuleCluster/Define/Block/ClassOrInstance_spec.rb +0 -230
  82. data/spec/ModuleCluster/Define/Block/ClassOrModuleOrInstance_spec.rb +0 -238
  83. data/spec/ModuleCluster/Define/Block/ClassOrModuleOrSubclass_spec.rb +0 -54
  84. data/spec/ModuleCluster/Define/Block/ClassOrModule_spec.rb +0 -231
  85. data/spec/ModuleCluster/Define/Block/ClassOrSubclass_spec.rb +0 -54
  86. data/spec/ModuleCluster/Define/Block/Class_spec.rb +0 -224
  87. data/spec/ModuleCluster/Define/Block/Instance_spec.rb +0 -78
  88. data/spec/ModuleCluster/Define/Block/ModuleOrInstance_spec.rb +0 -54
  89. data/spec/ModuleCluster/Define/Block/ModuleOrSubclass_spec.rb +0 -51
  90. data/spec/ModuleCluster/Define/Block/Module_spec.rb +0 -230
  91. data/spec/ModuleCluster/Define/Block/Subclass_spec.rb +0 -73
  92. data/spec/ModuleCluster/Define/Block_spec.rb +0 -18
  93. data/spec/ModuleCluster/Define/ClassCluster_spec.rb +0 -728
  94. data/spec/ModuleCluster/Define/ClassOrInstanceCluster_spec.rb +0 -576
  95. data/spec/ModuleCluster/Define/ClusterCascadesToClass_spec.rb +0 -659
  96. data/spec/ModuleCluster/Define/ClusterCascadesToModule_spec.rb +0 -678
  97. data/spec/ModuleCluster/Define/ClusterCascades_spec.rb +0 -644
  98. data/spec/ModuleCluster/Define/Cluster_spec.rb +0 -708
  99. data/spec/ModuleCluster/Define/InstanceCluster_spec.rb +0 -102
  100. data/spec/ModuleCluster/Define/ModuleCluster_spec.rb +0 -728
  101. data/spec/ModuleCluster/Define/ModuleOrClassCluster_spec.rb +0 -728
  102. data/spec/ModuleCluster/Define/ModuleOrInstanceCluster_spec.rb +0 -576
  103. data/spec/ModuleCluster/Suspend/Hooks_spec.rb +0 -573
  104. data/spec/ModuleCluster/Suspend/WithoutHooks_spec.rb +0 -559
  105. data/spec/ModuleCluster_spec.rb +0 -15
  106. data/spec/_private_/ModuleCluster/CascadeFeatures/PerformCascades_spec.rb +0 -386
  107. data/spec/_private_/ModuleCluster/ClusterStack/Set/MultiSetProxy_spec.rb +0 -419
  108. data/spec/_private_/ModuleCluster/ClusterStack/Suspend_spec.rb +0 -242
@@ -1,102 +0,0 @@
1
-
2
- require_relative '../../../lib/module-cluster.rb'
3
-
4
- describe ::ModuleCluster::Define::InstanceCluster do
5
-
6
- ####################################
7
- # self.should_include_or_extend? #
8
- ####################################
9
-
10
- it 'should return true if instance, false otherwise' do
11
- ::ModuleCluster::Define::InstanceCluster.should_include_or_extend?( Kernel ).should == false
12
- ::ModuleCluster::Define::InstanceCluster.should_include_or_extend?( Class ).should == false
13
- ::ModuleCluster::Define::InstanceCluster.should_include_or_extend?( Object.new ).should == true
14
- end
15
-
16
- ##########################
17
- # self.should_cascade? #
18
- ##########################
19
-
20
- it 'should report false' do
21
- ::ModuleCluster::Define::InstanceCluster.should_cascade?( Kernel ).should == false
22
- ::ModuleCluster::Define::InstanceCluster.should_cascade?( Class ).should == false
23
- ::ModuleCluster::Define::InstanceCluster.should_cascade?( Object.new ).should == false
24
- end
25
-
26
- ##################################
27
- # instance_extend_also_extends #
28
- ##################################
29
-
30
- it 'can extend other modules when this one extends a module or instance' do
31
- module ::ModuleCluster::Define::InstanceCluster::Mock01
32
- extend ::ModuleCluster::Define::InstanceCluster
33
- module Module1
34
- end
35
- module Module2
36
- end
37
- instance_extend_also_extends( Module1, Module2 ).name = :some_name
38
- respond_to?( :extended ).should == true
39
- module ModuleProof
40
- extend ::ModuleCluster::Define::InstanceCluster::Mock01
41
- ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock01::Module1 ).should == false
42
- ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock01::Module2 ).should == false
43
- eigenclass = class << self ; self ; end
44
- eigenclass.ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock01::Module1 ).should == false
45
- eigenclass.ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock01::Module2 ).should == false
46
- end
47
- class ClassProof
48
- extend ::ModuleCluster::Define::InstanceCluster::Mock01
49
- ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock01::Module1 ).should == false
50
- ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock01::Module2 ).should == false
51
- eigenclass = class << self ; self ; end
52
- eigenclass.ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock01::Module1 ).should == false
53
- eigenclass.ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock01::Module2 ).should == false
54
- end
55
- Object.new.instance_eval do
56
- extend ::ModuleCluster::Define::InstanceCluster::Mock01
57
- eigenclass = class << self ; self ; end
58
- eigenclass.ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock01::Module1 ).should == true
59
- eigenclass.ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock01::Module2 ).should == true
60
- end
61
- end
62
- end
63
-
64
- ######################################
65
- # instance_extend_prepends_extends #
66
- ######################################
67
-
68
- it 'can extend other modules before this one when this one extends an instance' do
69
- module ::ModuleCluster::Define::InstanceCluster::Mock02
70
- extend ::ModuleCluster::Define::InstanceCluster
71
- module Module1
72
- end
73
- module Module2
74
- end
75
- instance_extend_prepends_extends( Module1, Module2 ).name = :some_name
76
- respond_to?( :extend_object ).should == true
77
- module ModuleProof
78
- extend ::ModuleCluster::Define::InstanceCluster::Mock02
79
- ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock02::Module1 ).should == false
80
- ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock02::Module2 ).should == false
81
- eigenclass = class << self ; self ; end
82
- eigenclass.ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock02::Module1 ).should == false
83
- eigenclass.ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock02::Module2 ).should == false
84
- end
85
- class ClassProof
86
- extend ::ModuleCluster::Define::InstanceCluster::Mock02
87
- ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock02::Module1 ).should == false
88
- ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock02::Module2 ).should == false
89
- eigenclass = class << self ; self ; end
90
- eigenclass.ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock02::Module1 ).should == false
91
- eigenclass.ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock02::Module2 ).should == false
92
- end
93
- Object.new.instance_eval do
94
- extend ::ModuleCluster::Define::InstanceCluster::Mock02
95
- eigenclass = class << self ; self ; end
96
- eigenclass.ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock02::Module1 ).should == true
97
- eigenclass.ancestors.include?( ::ModuleCluster::Define::InstanceCluster::Mock02::Module2 ).should == true
98
- end
99
- end
100
- end
101
-
102
- end
@@ -1,728 +0,0 @@
1
-
2
- require_relative '../../../lib/module-cluster.rb'
3
-
4
- describe ::ModuleCluster::Define::ModuleCluster do
5
-
6
- ####################################
7
- # self.should_include_or_extend? #
8
- ####################################
9
-
10
- it 'should return true if module (not class), false otherwise' do
11
- ::ModuleCluster::Define::ModuleCluster.should_include_or_extend?( Kernel ).should == true
12
- ::ModuleCluster::Define::ModuleCluster.should_include_or_extend?( Class ).should == false
13
- ::ModuleCluster::Define::ModuleCluster.should_include_or_extend?( Object.new ).should == false
14
- end
15
-
16
- ##########################
17
- # self.should_cascade? #
18
- ##########################
19
-
20
- it 'should report false' do
21
- ::ModuleCluster::Define::ModuleCluster.should_cascade?( Kernel ).should == false
22
- ::ModuleCluster::Define::ModuleCluster.should_cascade?( Class ).should == false
23
- ::ModuleCluster::Define::ModuleCluster.should_cascade?( Object.new ).should == false
24
- end
25
-
26
- ##################################
27
- # module_include_also_includes #
28
- ##################################
29
-
30
- it 'can include other modules when this one is included in a module' do
31
- module ::ModuleCluster::Define::ModuleCluster::Mock01
32
- extend ::ModuleCluster::Define::ModuleCluster
33
- module Module1
34
- end
35
- module Module2
36
- end
37
- module_include_also_includes( Module1, Module2 ).name = :some_name
38
- respond_to?( :included ).should == true
39
- module ModuleProof
40
- include ::ModuleCluster::Define::ModuleCluster::Mock01
41
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock01::Module1 ).should == true
42
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock01::Module2 ).should == true
43
- eigenclass = class << self ; self ; end
44
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock01::Module1 ).should == false
45
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock01::Module2 ).should == false
46
- end
47
- class ClassProof
48
- include ::ModuleCluster::Define::ModuleCluster::Mock01
49
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock01::Module1 ).should == false
50
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock01::Module2 ).should == false
51
- eigenclass = class << self ; self ; end
52
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock01::Module1 ).should == false
53
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock01::Module2 ).should == false
54
- end
55
- end
56
- end
57
-
58
- #################################
59
- # module_include_also_extends #
60
- #################################
61
-
62
- it 'can extend other modules when this one is included in a module' do
63
- module ::ModuleCluster::Define::ModuleCluster::Mock02
64
- extend ::ModuleCluster::Define::ModuleCluster
65
- module Module1
66
- end
67
- module Module2
68
- end
69
- module_include_also_extends( Module1, Module2 ).name = :some_name
70
- respond_to?( :included ).should == true
71
- module ModuleProof
72
- include ::ModuleCluster::Define::ModuleCluster::Mock02
73
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock02::Module1 ).should == false
74
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock02::Module2 ).should == false
75
- eigenclass = class << self ; self ; end
76
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock02::Module1 ).should == true
77
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock02::Module2 ).should == true
78
- end
79
- class ClassProof
80
- include ::ModuleCluster::Define::ModuleCluster::Mock02
81
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock02::Module1 ).should == false
82
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock02::Module2 ).should == false
83
- eigenclass = class << self ; self ; end
84
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock02::Module1 ).should == false
85
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock02::Module2 ).should == false
86
- end
87
- end
88
- end
89
-
90
- ##############################################
91
- # module_include_also_includes_and_extends #
92
- ##############################################
93
-
94
- it 'can include and extend other modules when this one is included in a module' do
95
- module ::ModuleCluster::Define::ModuleCluster::Mock03
96
- extend ::ModuleCluster::Define::ModuleCluster
97
- module Module1
98
- end
99
- module Module2
100
- end
101
- module_include_also_includes_and_extends( Module1, Module2 ).name = :some_name
102
- respond_to?( :included ).should == true
103
- module ModuleProof
104
- include ::ModuleCluster::Define::ModuleCluster::Mock03
105
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock03::Module1 ).should == true
106
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock03::Module2 ).should == true
107
- eigenclass = class << self ; self ; end
108
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock03::Module1 ).should == true
109
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock03::Module2 ).should == true
110
- end
111
- class ClassProof
112
- include ::ModuleCluster::Define::ModuleCluster::Mock03
113
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock03::Module1 ).should == false
114
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock03::Module2 ).should == false
115
- eigenclass = class << self ; self ; end
116
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock03::Module1 ).should == false
117
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock03::Module2 ).should == false
118
- end
119
- end
120
- end
121
-
122
- #################################
123
- # module_extend_also_includes #
124
- #################################
125
-
126
- it 'can include other modules when this one extends a module' do
127
- module ::ModuleCluster::Define::ModuleCluster::Mock04
128
- extend ::ModuleCluster::Define::ModuleCluster
129
- module Module1
130
- end
131
- module Module2
132
- end
133
- module_extend_also_includes( Module1, Module2 ).name = :some_name
134
- respond_to?( :extended ).should == true
135
- module ModuleProof
136
- extend ::ModuleCluster::Define::ModuleCluster::Mock04
137
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock04::Module1 ).should == true
138
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock04::Module2 ).should == true
139
- eigenclass = class << self ; self ; end
140
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock04::Module1 ).should == false
141
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock04::Module2 ).should == false
142
- end
143
- class ClassProof
144
- extend ::ModuleCluster::Define::ModuleCluster::Mock04
145
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock04::Module1 ).should == false
146
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock04::Module2 ).should == false
147
- eigenclass = class << self ; self ; end
148
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock04::Module1 ).should == false
149
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock04::Module2 ).should == false
150
- end
151
- end
152
- end
153
-
154
- ################################
155
- # module_extend_also_extends #
156
- ################################
157
-
158
- it 'can extend other modules when this one extends a module' do
159
- module ::ModuleCluster::Define::ModuleCluster::Mock05
160
- extend ::ModuleCluster::Define::ModuleCluster
161
- module Module1
162
- end
163
- module Module2
164
- end
165
- module_extend_also_extends( Module1, Module2 ).name = :some_name
166
- respond_to?( :extended ).should == true
167
- module ModuleProof
168
- extend ::ModuleCluster::Define::ModuleCluster::Mock05
169
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock05::Module1 ).should == false
170
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock05::Module2 ).should == false
171
- eigenclass = class << self ; self ; end
172
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock05::Module1 ).should == true
173
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock05::Module2 ).should == true
174
- end
175
- class ClassProof
176
- extend ::ModuleCluster::Define::ModuleCluster::Mock05
177
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock05::Module1 ).should == false
178
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock05::Module2 ).should == false
179
- eigenclass = class << self ; self ; end
180
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock05::Module1 ).should == false
181
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock05::Module2 ).should == false
182
- end
183
- Object.new.instance_eval do
184
- extend ::ModuleCluster::Define::ModuleCluster::Mock05
185
- eigenclass = class << self ; self ; end
186
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock05::Module1 ).should == false
187
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock05::Module2 ).should == false
188
- end
189
- end
190
- end
191
-
192
- #############################################
193
- # module_extend_also_includes_and_extends #
194
- #############################################
195
-
196
- it 'can include and extend other modules when this one extends a module' do
197
- module ::ModuleCluster::Define::ModuleCluster::Mock06
198
- extend ::ModuleCluster::Define::ModuleCluster
199
- module Module1
200
- end
201
- module Module2
202
- end
203
- module_extend_also_includes_and_extends( Module1, Module2 ).name = :some_name
204
- respond_to?( :extended ).should == true
205
- module ModuleProof
206
- extend ::ModuleCluster::Define::ModuleCluster::Mock06
207
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock06::Module1 ).should == true
208
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock06::Module2 ).should == true
209
- eigenclass = class << self ; self ; end
210
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock06::Module1 ).should == true
211
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock06::Module2 ).should == true
212
- end
213
- class ClassProof
214
- extend ::ModuleCluster::Define::ModuleCluster::Mock06
215
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock06::Module1 ).should == false
216
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock06::Module2 ).should == false
217
- eigenclass = class << self ; self ; end
218
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock06::Module1 ).should == false
219
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock06::Module2 ).should == false
220
- end
221
- Object.new.instance_eval do
222
- extend ::ModuleCluster::Define::ModuleCluster::Mock06
223
- eigenclass = class << self ; self ; end
224
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock06::Module1 ).should == false
225
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock06::Module2 ).should == false
226
- end
227
- end
228
- end
229
-
230
- ######################################
231
- # module_include_prepends_includes #
232
- ######################################
233
-
234
- it 'can include other modules before this one when this one is included in a module' do
235
- module ::ModuleCluster::Define::ModuleCluster::Mock07
236
- extend ::ModuleCluster::Define::ModuleCluster
237
- module Module1
238
- end
239
- module Module2
240
- end
241
- module_include_prepends_includes( Module1, Module2 ).name = :some_name
242
- respond_to?( :append_features ).should == true
243
- module ModuleProof
244
- include ::ModuleCluster::Define::ModuleCluster::Mock07
245
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock07::Module1 ).should == true
246
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock07::Module2 ).should == true
247
- eigenclass = class << self ; self ; end
248
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock07::Module1 ).should == false
249
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock07::Module2 ).should == false
250
- end
251
- class ClassProof
252
- include ::ModuleCluster::Define::ModuleCluster::Mock07
253
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock07::Module1 ).should == false
254
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock07::Module2 ).should == false
255
- eigenclass = class << self ; self ; end
256
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock07::Module1 ).should == false
257
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock07::Module2 ).should == false
258
- end
259
- end
260
- end
261
-
262
- #####################################
263
- # module_include_prepends_extends #
264
- #####################################
265
-
266
- it 'can extend other modules before this one when this one is included in a module' do
267
- module ::ModuleCluster::Define::ModuleCluster::Mock08
268
- extend ::ModuleCluster::Define::ModuleCluster
269
- module Module1
270
- end
271
- module Module2
272
- end
273
- module_include_prepends_extends( Module1, Module2 ).name = :some_name
274
- respond_to?( :append_features ).should == true
275
- module ModuleProof
276
- include ::ModuleCluster::Define::ModuleCluster::Mock08
277
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock08::Module1 ).should == false
278
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock08::Module2 ).should == false
279
- eigenclass = class << self ; self ; end
280
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock08::Module1 ).should == true
281
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock08::Module2 ).should == true
282
- end
283
- class ClassProof
284
- include ::ModuleCluster::Define::ModuleCluster::Mock08
285
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock08::Module1 ).should == false
286
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock08::Module2 ).should == false
287
- eigenclass = class << self ; self ; end
288
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock08::Module1 ).should == false
289
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock08::Module2 ).should == false
290
- end
291
- end
292
- end
293
-
294
- ##################################################
295
- # module_include_prepends_includes_and_extends #
296
- ##################################################
297
-
298
- it 'can include and extend other modules before this one when this one is included in a module' do
299
- module ::ModuleCluster::Define::ModuleCluster::Mock09
300
- extend ::ModuleCluster::Define::ModuleCluster
301
- module Module1
302
- end
303
- module Module2
304
- end
305
- module_include_prepends_includes_and_extends( Module1, Module2 ).name = :some_name
306
- respond_to?( :append_features ).should == true
307
- module ModuleProof
308
- include ::ModuleCluster::Define::ModuleCluster::Mock09
309
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock09::Module1 ).should == true
310
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock09::Module2 ).should == true
311
- eigenclass = class << self ; self ; end
312
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock09::Module1 ).should == true
313
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock09::Module2 ).should == true
314
- end
315
- class ClassProof
316
- include ::ModuleCluster::Define::ModuleCluster::Mock09
317
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock09::Module1 ).should == false
318
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock09::Module2 ).should == false
319
- eigenclass = class << self ; self ; end
320
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock09::Module1 ).should == false
321
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock09::Module2 ).should == false
322
- end
323
- end
324
- end
325
-
326
- #####################################
327
- # module_extend_prepends_includes #
328
- #####################################
329
-
330
- it 'can include other modules before this one when this one extends a module' do
331
- module ::ModuleCluster::Define::ModuleCluster::Mock10
332
- extend ::ModuleCluster::Define::ModuleCluster
333
- module Module1
334
- end
335
- module Module2
336
- end
337
- module_extend_prepends_includes( Module1, Module2 ).name = :some_name
338
- respond_to?( :extend_object ).should == true
339
- module ModuleProof
340
- extend ::ModuleCluster::Define::ModuleCluster::Mock10
341
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock10::Module1 ).should == true
342
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock10::Module2 ).should == true
343
- eigenclass = class << self ; self ; end
344
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock10::Module1 ).should == false
345
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock10::Module2 ).should == false
346
- end
347
- class ClassProof
348
- extend ::ModuleCluster::Define::ModuleCluster::Mock10
349
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock10::Module1 ).should == false
350
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock10::Module2 ).should == false
351
- eigenclass = class << self ; self ; end
352
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock10::Module1 ).should == false
353
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock10::Module2 ).should == false
354
- end
355
- end
356
- end
357
-
358
- ####################################
359
- # module_extend_prepends_extends #
360
- ####################################
361
-
362
- it 'can extend other modules before this one when this one extends a module' do
363
- module ::ModuleCluster::Define::ModuleCluster::Mock11
364
- extend ::ModuleCluster::Define::ModuleCluster
365
- module Module1
366
- end
367
- module Module2
368
- end
369
- module_extend_prepends_extends( Module1, Module2 ).name = :some_name
370
- respond_to?( :extend_object ).should == true
371
- module ModuleProof
372
- extend ::ModuleCluster::Define::ModuleCluster::Mock11
373
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock11::Module1 ).should == false
374
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock11::Module2 ).should == false
375
- eigenclass = class << self ; self ; end
376
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock11::Module1 ).should == true
377
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock11::Module2 ).should == true
378
- end
379
- class ClassProof
380
- extend ::ModuleCluster::Define::ModuleCluster::Mock11
381
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock11::Module1 ).should == false
382
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock11::Module2 ).should == false
383
- eigenclass = class << self ; self ; end
384
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock11::Module1 ).should == false
385
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock11::Module2 ).should == false
386
- end
387
- Object.new.instance_eval do
388
- extend ::ModuleCluster::Define::ModuleCluster::Mock11
389
- eigenclass = class << self ; self ; end
390
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock11::Module1 ).should == false
391
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock11::Module2 ).should == false
392
- end
393
- end
394
- end
395
-
396
- #################################################
397
- # module_extend_prepends_includes_and_extends #
398
- #################################################
399
-
400
- it 'can include and extend other modules before this one when this one extends a module' do
401
- module ::ModuleCluster::Define::ModuleCluster::Mock12
402
- extend ::ModuleCluster::Define::ModuleCluster
403
- module Module1
404
- end
405
- module Module2
406
- end
407
- module_extend_prepends_includes_and_extends( Module1, Module2 ).name = :some_name
408
- respond_to?( :extend_object ).should == true
409
- module ModuleProof
410
- extend ::ModuleCluster::Define::ModuleCluster::Mock12
411
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock12::Module1 ).should == true
412
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock12::Module2 ).should == true
413
- eigenclass = class << self ; self ; end
414
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock12::Module1 ).should == true
415
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock12::Module2 ).should == true
416
- end
417
- class ClassProof
418
- extend ::ModuleCluster::Define::ModuleCluster::Mock12
419
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock12::Module1 ).should == false
420
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock12::Module2 ).should == false
421
- eigenclass = class << self ; self ; end
422
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock12::Module1 ).should == false
423
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock12::Module2 ).should == false
424
- end
425
- Object.new.instance_eval do
426
- extend ::ModuleCluster::Define::ModuleCluster::Mock12
427
- eigenclass = class << self ; self ; end
428
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock12::Module1 ).should == false
429
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock12::Module2 ).should == false
430
- end
431
- end
432
- end
433
-
434
- ############################################
435
- # module_include_or_extend_also_includes #
436
- ############################################
437
-
438
- it 'can include other modules when this one is included in or extends a module' do
439
- module ::ModuleCluster::Define::ModuleCluster::Mock13
440
- extend ::ModuleCluster::Define::ModuleCluster
441
- module Module1
442
- end
443
- module Module2
444
- end
445
- module_include_or_extend_also_includes( Module1, Module2 ).name = :some_name
446
- respond_to?( :append_features ).should == true
447
- module ModuleProof
448
- include ::ModuleCluster::Define::ModuleCluster::Mock13
449
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module1 ).should == true
450
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module2 ).should == true
451
- eigenclass = class << self ; self ; end
452
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module1 ).should == false
453
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module2 ).should == false
454
- end
455
- module ModuleProof2
456
- extend ::ModuleCluster::Define::ModuleCluster::Mock13
457
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module1 ).should == true
458
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module2 ).should == true
459
- eigenclass = class << self ; self ; end
460
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module1 ).should == false
461
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module2 ).should == false
462
- end
463
- class ClassProof
464
- include ::ModuleCluster::Define::ModuleCluster::Mock13
465
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module1 ).should == false
466
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module2 ).should == false
467
- eigenclass = class << self ; self ; end
468
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module1 ).should == false
469
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module2 ).should == false
470
- end
471
- class ClassProof2
472
- include ::ModuleCluster::Define::ModuleCluster::Mock13
473
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module1 ).should == false
474
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module2 ).should == false
475
- eigenclass = class << self ; self ; end
476
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module1 ).should == false
477
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock13::Module2 ).should == false
478
- end
479
- end
480
- end
481
-
482
- ###########################################
483
- # module_include_or_extend_also_extends #
484
- ###########################################
485
-
486
- it 'can extend other modules when this one is included in or extends a module' do
487
- module ::ModuleCluster::Define::ModuleCluster::Mock14
488
- extend ::ModuleCluster::Define::ModuleCluster
489
- module Module1
490
- end
491
- module Module2
492
- end
493
- module_include_or_extend_also_extends( Module1, Module2 ).name = :some_name
494
- respond_to?( :included ).should == true
495
- module ModuleProof
496
- include ::ModuleCluster::Define::ModuleCluster::Mock14
497
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module1 ).should == false
498
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module2 ).should == false
499
- eigenclass = class << self ; self ; end
500
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module1 ).should == true
501
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module2 ).should == true
502
- end
503
- module ModuleProof2
504
- extend ::ModuleCluster::Define::ModuleCluster::Mock14
505
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module1 ).should == false
506
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module2 ).should == false
507
- eigenclass = class << self ; self ; end
508
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module1 ).should == true
509
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module2 ).should == true
510
- end
511
- class ClassProof
512
- include ::ModuleCluster::Define::ModuleCluster::Mock14
513
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module1 ).should == false
514
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module2 ).should == false
515
- eigenclass = class << self ; self ; end
516
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module1 ).should == false
517
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module2 ).should == false
518
- end
519
- class ClassProof2
520
- extend ::ModuleCluster::Define::ModuleCluster::Mock14
521
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module1 ).should == false
522
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module2 ).should == false
523
- eigenclass = class << self ; self ; end
524
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module1 ).should == false
525
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock14::Module2 ).should == false
526
- end
527
- end
528
- end
529
-
530
- ########################################################
531
- # module_include_or_extend_also_includes_and_extends #
532
- ########################################################
533
-
534
- it 'can include and extend other modules when this one is included in or extends a module' do
535
- module ::ModuleCluster::Define::ModuleCluster::Mock15
536
- extend ::ModuleCluster::Define::ModuleCluster
537
- module Module1
538
- end
539
- module Module2
540
- end
541
- module_include_or_extend_also_includes_and_extends( Module1, Module2 ).name = :some_name
542
- respond_to?( :included ).should == true
543
- module ModuleProof
544
- include ::ModuleCluster::Define::ModuleCluster::Mock15
545
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module1 ).should == true
546
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module2 ).should == true
547
- eigenclass = class << self ; self ; end
548
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module1 ).should == true
549
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module2 ).should == true
550
- end
551
- module ModuleProo2
552
- extend ::ModuleCluster::Define::ModuleCluster::Mock15
553
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module1 ).should == true
554
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module2 ).should == true
555
- eigenclass = class << self ; self ; end
556
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module1 ).should == true
557
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module2 ).should == true
558
- end
559
- class ClassProof
560
- include ::ModuleCluster::Define::ModuleCluster::Mock15
561
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module1 ).should == false
562
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module2 ).should == false
563
- eigenclass = class << self ; self ; end
564
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module1 ).should == false
565
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module2 ).should == false
566
- end
567
- class ClassProof2
568
- extend ::ModuleCluster::Define::ModuleCluster::Mock15
569
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module1 ).should == false
570
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module2 ).should == false
571
- eigenclass = class << self ; self ; end
572
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module1 ).should == false
573
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock15::Module2 ).should == false
574
- end
575
- end
576
- end
577
-
578
- ################################################
579
- # module_include_or_extend_prepends_includes #
580
- ################################################
581
-
582
- it 'can include other modules before this one when this one is included in or extends a module' do
583
- module ::ModuleCluster::Define::ModuleCluster::Mock16
584
- extend ::ModuleCluster::Define::ModuleCluster
585
- module Module1
586
- end
587
- module Module2
588
- end
589
- module_include_or_extend_prepends_includes( Module1, Module2 ).name = :some_name
590
- respond_to?( :append_features ).should == true
591
- module ModuleProof
592
- include ::ModuleCluster::Define::ModuleCluster::Mock16
593
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module1 ).should == true
594
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module2 ).should == true
595
- eigenclass = class << self ; self ; end
596
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module1 ).should == false
597
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module2 ).should == false
598
- end
599
- module ModuleProof2
600
- extend ::ModuleCluster::Define::ModuleCluster::Mock16
601
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module1 ).should == true
602
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module2 ).should == true
603
- eigenclass = class << self ; self ; end
604
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module1 ).should == false
605
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module2 ).should == false
606
- end
607
- class ClassProof
608
- include ::ModuleCluster::Define::ModuleCluster::Mock16
609
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module1 ).should == false
610
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module2 ).should == false
611
- eigenclass = class << self ; self ; end
612
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module1 ).should == false
613
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module2 ).should == false
614
- end
615
- class ClassProof2
616
- extend ::ModuleCluster::Define::ModuleCluster::Mock16
617
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module1 ).should == false
618
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module2 ).should == false
619
- eigenclass = class << self ; self ; end
620
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module1 ).should == false
621
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock16::Module2 ).should == false
622
- end
623
- end
624
- end
625
-
626
- ###############################################
627
- # module_include_or_extend_prepends_extends #
628
- ###############################################
629
-
630
- it 'can extend other modules before this one when this one is included in or extends a module' do
631
- module ::ModuleCluster::Define::ModuleCluster::Mock17
632
- extend ::ModuleCluster::Define::ModuleCluster
633
- module Module1
634
- end
635
- module Module2
636
- end
637
- module_include_or_extend_prepends_extends( Module1, Module2 ).name = :some_name
638
- respond_to?( :extend_object ).should == true
639
- module ModuleProof
640
- include ::ModuleCluster::Define::ModuleCluster::Mock17
641
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module1 ).should == false
642
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module2 ).should == false
643
- eigenclass = class << self ; self ; end
644
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module1 ).should == true
645
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module2 ).should == true
646
- end
647
- module ModuleProof2
648
- extend ::ModuleCluster::Define::ModuleCluster::Mock17
649
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module1 ).should == false
650
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module2 ).should == false
651
- eigenclass = class << self ; self ; end
652
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module1 ).should == true
653
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module2 ).should == true
654
- end
655
- class ClassProof
656
- include ::ModuleCluster::Define::ModuleCluster::Mock17
657
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module1 ).should == false
658
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module2 ).should == false
659
- eigenclass = class << self ; self ; end
660
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module1 ).should == false
661
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module2 ).should == false
662
- end
663
- class ClassProof2
664
- extend ::ModuleCluster::Define::ModuleCluster::Mock17
665
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module1 ).should == false
666
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module2 ).should == false
667
- eigenclass = class << self ; self ; end
668
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module1 ).should == false
669
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module2 ).should == false
670
- end
671
- Object.new.instance_eval do
672
- extend ::ModuleCluster::Define::ModuleCluster::Mock17
673
- eigenclass = class << self ; self ; end
674
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module1 ).should == false
675
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock17::Module2 ).should == false
676
- end
677
- end
678
- end
679
-
680
- ############################################################
681
- # module_include_or_extend_prepends_includes_and_extends #
682
- ############################################################
683
-
684
- it 'can include and extend other modules before this one when this one is included in or extends a module' do
685
- module ::ModuleCluster::Define::ModuleCluster::Mock18
686
- extend ::ModuleCluster::Define::ModuleCluster
687
- module Module1
688
- end
689
- module Module2
690
- end
691
- module_include_or_extend_prepends_includes_and_extends( Module1, Module2 ).name = :some_name
692
- respond_to?( :append_features ).should == true
693
- module ModuleProof
694
- include ::ModuleCluster::Define::ModuleCluster::Mock18
695
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module1 ).should == true
696
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module2 ).should == true
697
- eigenclass = class << self ; self ; end
698
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module1 ).should == true
699
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module2 ).should == true
700
- end
701
- module ModuleProof2
702
- extend ::ModuleCluster::Define::ModuleCluster::Mock18
703
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module1 ).should == true
704
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module2 ).should == true
705
- eigenclass = class << self ; self ; end
706
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module1 ).should == true
707
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module2 ).should == true
708
- end
709
- class ClassProof
710
- include ::ModuleCluster::Define::ModuleCluster::Mock18
711
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module1 ).should == false
712
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module2 ).should == false
713
- eigenclass = class << self ; self ; end
714
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module1 ).should == false
715
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module2 ).should == false
716
- end
717
- class ClassProof2
718
- extend ::ModuleCluster::Define::ModuleCluster::Mock18
719
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module1 ).should == false
720
- ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module2 ).should == false
721
- eigenclass = class << self ; self ; end
722
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module1 ).should == false
723
- eigenclass.ancestors.include?( ::ModuleCluster::Define::ModuleCluster::Mock18::Module2 ).should == false
724
- end
725
- end
726
- end
727
-
728
- end