module-cluster 1.4.8 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,9 +0,0 @@
1
-
2
- module ::ModuleCluster
3
-
4
- extend ::ModuleCluster::ExtendForCascade
5
-
6
- include Define
7
- include Suspend
8
-
9
- end
@@ -1,12 +0,0 @@
1
-
2
- module ::ModuleCluster::Define
3
-
4
- include Block
5
- include Cluster
6
- include ClusterCascades
7
- include ClusterCascadesToClass
8
- include ClusterCascadesToModule
9
-
10
- include Deprecated
11
-
12
- end
@@ -1,9 +0,0 @@
1
-
2
- module ::ModuleCluster::Define::Block
3
-
4
- include ClassOrModule
5
- include ClassOrInstance
6
- include ClassOrModuleOrInstance
7
- include ModuleOrInstance
8
-
9
- end
@@ -1,83 +0,0 @@
1
-
2
- module ::ModuleCluster::Define::Block::CascadingClass
3
-
4
- include ::ModuleCluster::CascadeFeatures::ClusterStack
5
- include ::ModuleCluster::Suspend::WithoutHooks
6
-
7
- include ::ModuleCluster::Define::Block::Subclass
8
-
9
- extend ::ModuleCluster::ExtendForCascade
10
-
11
- ##########################
12
- # self.should_cascade? #
13
- ##########################
14
-
15
- def self.should_cascade?( class_or_module )
16
- return true
17
- end
18
-
19
- ############################
20
- # self.should_run_block? #
21
- ############################
22
-
23
- def self.should_run_block?( hooked_instance )
24
- return hooked_instance.is_a?( Class )
25
- end
26
-
27
- #############################
28
- # cascading_class_include #
29
- #############################
30
-
31
- def cascading_class_include( & runtime_block )
32
- subclass( & runtime_block )
33
- return cluster_stack.class_include( ::ModuleCluster::Define::Block::CascadingClass, __method__, runtime_block )
34
- end
35
-
36
- ############################
37
- # cascading_class_extend #
38
- ############################
39
-
40
- def cascading_class_extend( & runtime_block )
41
- subclass( & runtime_block )
42
- return cluster_stack.class_extend( ::ModuleCluster::Define::Block::CascadingClass, __method__, runtime_block )
43
- end
44
-
45
- #######################################
46
- # cascading_class_include_or_extend #
47
- #######################################
48
-
49
- def cascading_class_include_or_extend( & runtime_block )
50
- include_set = cascading_class_include( & runtime_block )
51
- extend_set = cascading_class_extend( & runtime_block )
52
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
53
- end
54
-
55
- #####################################
56
- # cascading_prepend_class_include #
57
- #####################################
58
-
59
- def cascading_prepend_class_include( & runtime_block )
60
- subclass( & runtime_block )
61
- return cluster_stack.prepend_class_include( ::ModuleCluster::Define::Block::CascadingClass, __method__, runtime_block )
62
- end
63
-
64
- ####################################
65
- # cascading_prepend_class_extend #
66
- ####################################
67
-
68
- def cascading_prepend_class_extend( & runtime_block )
69
- subclass( & runtime_block )
70
- return cluster_stack.prepend_class_extend( ::ModuleCluster::Define::Block::CascadingClass, __method__, runtime_block )
71
- end
72
-
73
- ###############################################
74
- # cascading_prepend_class_include_or_extend #
75
- ###############################################
76
-
77
- def cascading_prepend_class_include_or_extend( & runtime_block )
78
- include_set = cascading_prepend_class_include( & runtime_block )
79
- extend_set = cascading_prepend_class_extend( & runtime_block )
80
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
81
- end
82
-
83
- end
@@ -1,70 +0,0 @@
1
-
2
- module ::ModuleCluster::Define::Block::CascadingClassOrModule
3
-
4
- include ::ModuleCluster::Define::Block::CascadingClass
5
- include ::ModuleCluster::Define::Block::CascadingModule
6
- include ::ModuleCluster::Suspend::WithoutHooks
7
-
8
- extend ::ModuleCluster::ExtendForCascade
9
-
10
- #######################################
11
- # cascading_class_or_module_include #
12
- #######################################
13
-
14
- def cascading_class_or_module_include( & runtime_block )
15
- class_set = cascading_class_include( & runtime_block )
16
- module_set = cascading_module_include( & runtime_block )
17
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( class_set, module_set )
18
- end
19
-
20
- ######################################
21
- # cascading_class_or_module_extend #
22
- ######################################
23
-
24
- def cascading_class_or_module_extend( & runtime_block )
25
- class_set = cascading_class_extend( & runtime_block )
26
- module_set = cascading_module_extend( & runtime_block )
27
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( class_set, module_set )
28
- end
29
-
30
- #################################################
31
- # cascading_class_or_module_include_or_extend #
32
- #################################################
33
-
34
- def cascading_class_or_module_include_or_extend( & runtime_block )
35
- include_set = cascading_class_or_module_include( & runtime_block )
36
- extend_set = cascading_class_or_module_extend( & runtime_block )
37
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
38
- end
39
-
40
- ###############################################
41
- # cascading_prepend_class_or_module_include #
42
- ###############################################
43
-
44
- def cascading_prepend_class_or_module_include( & runtime_block )
45
- class_set = cascading_prepend_class_include( & runtime_block )
46
- module_set = cascading_prepend_module_include( & runtime_block )
47
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( class_set, module_set )
48
- end
49
-
50
- ##############################################
51
- # cascading_prepend_class_or_module_extend #
52
- ##############################################
53
-
54
- def cascading_prepend_class_or_module_extend( & runtime_block )
55
- class_set = cascading_prepend_class_extend( & runtime_block )
56
- module_set = cascading_prepend_module_extend( & runtime_block )
57
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( class_set, module_set )
58
- end
59
-
60
- #########################################################
61
- # cascading_prepend_class_or_module_include_or_extend #
62
- #########################################################
63
-
64
- def cascading_prepend_class_or_module_include_or_extend( & runtime_block )
65
- include_set = cascading_prepend_class_or_module_include( & runtime_block )
66
- extend_set = cascading_prepend_class_or_module_extend( & runtime_block )
67
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
68
- end
69
-
70
- end
@@ -1,79 +0,0 @@
1
-
2
- module ::ModuleCluster::Define::Block::CascadingModule
3
-
4
- include ::ModuleCluster::CascadeFeatures::ClusterStack
5
- include ::ModuleCluster::Suspend::WithoutHooks
6
-
7
- include ::ModuleCluster::Define::Block::Subclass
8
-
9
- extend ::ModuleCluster::ExtendForCascade
10
-
11
- ##########################
12
- # self.should_cascade? #
13
- ##########################
14
-
15
- def self.should_cascade?( class_or_module )
16
- return true
17
- end
18
-
19
- ############################
20
- # self.should_run_block? #
21
- ############################
22
-
23
- def self.should_run_block?( hooked_instance )
24
- return hooked_instance.is_a?( Module ) && ! hooked_instance.is_a?( Class )
25
- end
26
-
27
- ##############################
28
- # cascading_module_include #
29
- ##############################
30
-
31
- def cascading_module_include( & runtime_block )
32
- return cluster_stack.module_include( ::ModuleCluster::Define::Block::CascadingModule, __method__, runtime_block )
33
- end
34
-
35
- #############################
36
- # cascading_module_extend #
37
- #############################
38
-
39
- def cascading_module_extend( & runtime_block )
40
- return cluster_stack.module_extend( ::ModuleCluster::Define::Block::CascadingModule, __method__, runtime_block )
41
- end
42
-
43
- ########################################
44
- # cascading_module_include_or_extend #
45
- ########################################
46
-
47
- def cascading_module_include_or_extend( & runtime_block )
48
- include_set = cascading_module_include( & runtime_block )
49
- extend_set = cascading_module_extend( & runtime_block )
50
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
51
- end
52
-
53
- ######################################
54
- # cascading_prepend_module_include #
55
- ######################################
56
-
57
- def cascading_prepend_module_include( & runtime_block )
58
- return cluster_stack.prepend_module_include( ::ModuleCluster::Define::Block::CascadingModule, __method__, runtime_block )
59
- end
60
-
61
- #####################################
62
- # cascading_prepend_module_extend #
63
- #####################################
64
-
65
- def cascading_prepend_module_extend( & runtime_block )
66
- return cluster_stack.prepend_module_extend( ::ModuleCluster::Define::Block::CascadingModule, __method__, runtime_block )
67
- end
68
-
69
- ################################################
70
- # cascading_prepend_module_include_or_extend #
71
- ################################################
72
-
73
- def cascading_prepend_module_include_or_extend( & runtime_block )
74
- include_set = cascading_prepend_module_include( & runtime_block )
75
- extend_set = cascading_prepend_module_extend( & runtime_block )
76
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
77
- end
78
-
79
- end
@@ -1,21 +0,0 @@
1
-
2
- module ::ModuleCluster::Define::Block::CascadingModuleOrSubclass
3
-
4
- include ::ModuleCluster::CascadeFeatures::ClusterStack
5
- include ::ModuleCluster::Define::Block::CascadingModule
6
- include ::ModuleCluster::Define::Block::Subclass
7
- include ::ModuleCluster::Suspend::WithoutHooks
8
-
9
- extend ::ModuleCluster::ExtendForCascade
10
-
11
- ##########################################
12
- # cascading_module_include_or_subclass #
13
- ##########################################
14
-
15
- def cascading_module_include_or_subclass( & runtime_block )
16
- module_set = cascading_module_include( & runtime_block )
17
- subclass_set = subclass( & runtime_block )
18
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( module_set, subclass_set )
19
- end
20
-
21
- end
@@ -1,77 +0,0 @@
1
-
2
- module ::ModuleCluster::Define::Block::Class
3
-
4
- include ::ModuleCluster::CascadeFeatures::ClusterStack
5
- include ::ModuleCluster::Suspend::WithoutHooks
6
-
7
- extend ::ModuleCluster::ExtendForCascade
8
-
9
- ##########################
10
- # self.should_cascade? #
11
- ##########################
12
-
13
- def self.should_cascade?( class_or_module )
14
- return false
15
- end
16
-
17
- ############################
18
- # self.should_run_block? #
19
- ############################
20
-
21
- def self.should_run_block?( hooked_instance )
22
- return hooked_instance.is_a?( Class )
23
- end
24
-
25
- ###################
26
- # class_include #
27
- ###################
28
-
29
- def class_include( & runtime_block )
30
- return cluster_stack.class_include( ::ModuleCluster::Define::Block::Class, __method__, runtime_block )
31
- end
32
-
33
- ##################
34
- # class_extend #
35
- ##################
36
-
37
- def class_extend( & runtime_block )
38
- return cluster_stack.class_extend( ::ModuleCluster::Define::Block::Class, __method__, runtime_block )
39
- end
40
-
41
- #############################
42
- # class_include_or_extend #
43
- #############################
44
-
45
- def class_include_or_extend( & runtime_block )
46
- include_set = class_include( & runtime_block )
47
- extend_set = class_extend( & runtime_block )
48
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
49
- end
50
-
51
- ###########################
52
- # prepend_class_include #
53
- ###########################
54
-
55
- def prepend_class_include( & runtime_block )
56
- return cluster_stack.prepend_class_include( ::ModuleCluster::Define::Block::Class, __method__, runtime_block )
57
- end
58
-
59
- ##########################
60
- # prepend_class_extend #
61
- ##########################
62
-
63
- def prepend_class_extend( & runtime_block )
64
- return cluster_stack.prepend_class_extend( ::ModuleCluster::Define::Block::Class, __method__, runtime_block )
65
- end
66
-
67
- #####################################
68
- # prepend_class_include_or_extend #
69
- #####################################
70
-
71
- def prepend_class_include_or_extend( & runtime_block )
72
- include_set = prepend_class_include( & runtime_block )
73
- extend_set = prepend_class_extend( & runtime_block )
74
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( include_set, extend_set )
75
- end
76
-
77
- end
@@ -1,78 +0,0 @@
1
-
2
- module ::ModuleCluster::Define::Block::ClassOrInstance
3
-
4
- include ::ModuleCluster::Define::Block::Class
5
- include ::ModuleCluster::Define::Block::Instance
6
- include ::ModuleCluster::Suspend::WithoutHooks
7
-
8
- extend ::ModuleCluster::ExtendForCascade
9
-
10
- ##########################
11
- # self.should_cascade? #
12
- ##########################
13
-
14
- def self.should_cascade?( class_or_module )
15
- return false
16
- end
17
-
18
- ##############################
19
- # class_or_instance_extend #
20
- ##############################
21
-
22
- def class_or_instance_extend( & runtime_block )
23
- class_set = class_extend( & runtime_block )
24
- instance_set = instance_extend( & runtime_block )
25
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( class_set, instance_set )
26
- end
27
-
28
- ######################################
29
- # class_include_or_instance_extend #
30
- ######################################
31
-
32
- def class_include_or_instance_extend( & runtime_block )
33
- class_set = class_include( & runtime_block )
34
- instance_set = instance_extend( & runtime_block )
35
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( class_set, instance_set )
36
- end
37
-
38
- ################################################
39
- # class_include_or_extend_or_instance_extend #
40
- ################################################
41
-
42
- def class_include_or_extend_or_instance_extend( & runtime_block )
43
- class_set = class_include_or_extend( & runtime_block )
44
- instance_set = instance_extend( & runtime_block )
45
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( class_set, instance_set )
46
- end
47
-
48
- ######################################
49
- # prepend_class_or_instance_extend #
50
- ######################################
51
-
52
- def prepend_class_or_instance_extend( & runtime_block )
53
- class_set = prepend_class_extend( & runtime_block )
54
- instance_set = prepend_instance_extend( & runtime_block )
55
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( class_set, instance_set )
56
- end
57
-
58
- ##############################################
59
- # prepend_class_include_or_instance_extend #
60
- ##############################################
61
-
62
- def prepend_class_include_or_instance_extend( & runtime_block )
63
- class_set = prepend_class_include( & runtime_block )
64
- instance_set = prepend_instance_extend( & runtime_block )
65
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( class_set, instance_set )
66
- end
67
-
68
- ########################################################
69
- # prepend_class_include_or_extend_or_instance_extend #
70
- ########################################################
71
-
72
- def prepend_class_include_or_extend_or_instance_extend( & runtime_block )
73
- class_set = prepend_class_include_or_extend( & runtime_block )
74
- instance_set = prepend_instance_extend( & runtime_block )
75
- return ::ModuleCluster::ClusterStack::Set::MultiSetProxy.new( class_set, instance_set )
76
- end
77
-
78
- end