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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: module-cluster
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.8
4
+ version: 2.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,108 +9,36 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-12 00:00:00.000000000 Z
12
+ date: 2012-07-05 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: ! 'Provides methods for clustering modules so that when the main module
15
- is included other modules are also included or extended, either before or after
16
- the main module. There are currently three variants: cluster, cascade, cascade to
17
- class. Cluster causes the next module to be affected. Cascade causes all subsequent
18
- modules to be affected. Cascade to class causes the first including/extending class
19
- to be affected, but not any modules prior to it (although the effects will cascade
20
- through those unaffected modules).'
14
+ description: Provides hooks via :included, :extended, :append_features, :extend_object,
15
+ :subclass. Define behavior at hooks via simple interface.
21
16
  email: asher@ridiculouspower.com
22
17
  executables: []
23
18
  extensions: []
24
19
  extra_rdoc_files: []
25
20
  files:
26
- - lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/ClusterStack.rb
27
- - lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/PerformCascades.rb
28
- - lib/module-cluster/_private_/ModuleCluster/CascadeFeatures/Subclass.rb
29
- - lib/module-cluster/_private_/ModuleCluster/CascadeFeatures.rb
30
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Class.rb
31
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Inherited.rb
32
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Instance.rb
33
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Module.rb
34
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block/Set.rb
35
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/Block.rb
36
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/Extends.rb
37
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/Includes.rb
38
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/PrependsExtends.rb
39
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/PrependsIncludes.rb
40
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/Set/MultiSetProxy.rb
41
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/Set.rb
42
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/Status.rb
43
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack/Suspend.rb
44
- - lib/module-cluster/_private_/ModuleCluster/ClusterStack.rb
45
- - lib/module-cluster/_private_/ModuleCluster/ExtendForCascade.rb
46
- - lib/module-cluster/ModuleCluster/Define/Block/CascadingClass.rb
47
- - lib/module-cluster/ModuleCluster/Define/Block/CascadingClassOrModule.rb
48
- - lib/module-cluster/ModuleCluster/Define/Block/CascadingModule.rb
49
- - lib/module-cluster/ModuleCluster/Define/Block/CascadingModuleOrSubclass.rb
50
- - lib/module-cluster/ModuleCluster/Define/Block/Class.rb
51
- - lib/module-cluster/ModuleCluster/Define/Block/ClassOrInstance.rb
52
- - lib/module-cluster/ModuleCluster/Define/Block/ClassOrModule.rb
53
- - lib/module-cluster/ModuleCluster/Define/Block/ClassOrModuleOrInstance.rb
54
- - lib/module-cluster/ModuleCluster/Define/Block/ClassOrModuleOrSubclass.rb
55
- - lib/module-cluster/ModuleCluster/Define/Block/ClassOrSubclass.rb
56
- - lib/module-cluster/ModuleCluster/Define/Block/Instance.rb
57
- - lib/module-cluster/ModuleCluster/Define/Block/Module.rb
58
- - lib/module-cluster/ModuleCluster/Define/Block/ModuleOrInstance.rb
59
- - lib/module-cluster/ModuleCluster/Define/Block/ModuleOrSubclass.rb
60
- - lib/module-cluster/ModuleCluster/Define/Block/Subclass.rb
61
- - lib/module-cluster/ModuleCluster/Define/Block.rb
62
- - lib/module-cluster/ModuleCluster/Define/ClassCluster.rb
63
- - lib/module-cluster/ModuleCluster/Define/ClassOrInstanceCluster.rb
64
- - lib/module-cluster/ModuleCluster/Define/Cluster.rb
65
- - lib/module-cluster/ModuleCluster/Define/ClusterCascades.rb
66
- - lib/module-cluster/ModuleCluster/Define/ClusterCascadesToClass.rb
67
- - lib/module-cluster/ModuleCluster/Define/ClusterCascadesToModule.rb
68
- - lib/module-cluster/ModuleCluster/Define/Deprecated.rb
69
- - lib/module-cluster/ModuleCluster/Define/InstanceCluster.rb
70
- - lib/module-cluster/ModuleCluster/Define/ModuleCluster.rb
71
- - lib/module-cluster/ModuleCluster/Define/ModuleOrClassCluster.rb
72
- - lib/module-cluster/ModuleCluster/Define/ModuleOrInstanceCluster.rb
73
- - lib/module-cluster/ModuleCluster/Define/Status.rb
74
- - lib/module-cluster/ModuleCluster/Define.rb
75
- - lib/module-cluster/ModuleCluster/Suspend/Hooks.rb
76
- - lib/module-cluster/ModuleCluster/Suspend/WithoutHooks.rb
77
- - lib/module-cluster/ModuleCluster/Suspend.rb
78
- - lib/module-cluster/ModuleCluster.rb
21
+ - lib/module/cluster/class_support.rb
22
+ - lib/module/cluster/cluster/cluster_interface.rb
23
+ - lib/module/cluster/cluster.rb
24
+ - lib/module/cluster/exception/module_not_in_stack.rb
25
+ - lib/module/cluster/instance_controller/hook_controller/chain_proxy.rb
26
+ - lib/module/cluster/instance_controller/hook_controller/hook_controller_interface.rb
27
+ - lib/module/cluster/instance_controller/hook_controller.rb
28
+ - lib/module/cluster/instance_controller/instance_controller_interface.rb
29
+ - lib/module/cluster/instance_controller/multiple_hook_controller_proxy/chain_proxy.rb
30
+ - lib/module/cluster/instance_controller/multiple_hook_controller_proxy.rb
31
+ - lib/module/cluster/instance_controller.rb
32
+ - lib/module/cluster/module_support.rb
33
+ - lib/module/cluster.rb
34
+ - lib/module/namespaces.rb
35
+ - lib/module/requires.rb
79
36
  - lib/module-cluster.rb
80
- - spec/_private_/ModuleCluster/CascadeFeatures/PerformCascades_spec.rb
81
- - spec/_private_/ModuleCluster/ClusterStack/Set/MultiSetProxy_spec.rb
82
- - spec/_private_/ModuleCluster/ClusterStack/Suspend_spec.rb
83
- - spec/ModuleCluster/Define/Block/CascadingClass_spec.rb
84
- - spec/ModuleCluster/Define/Block/CascadingClassOrModule_spec.rb
85
- - spec/ModuleCluster/Define/Block/CascadingModule_spec.rb
86
- - spec/ModuleCluster/Define/Block/CascadingModuleOrSubclass_spec.rb
87
- - spec/ModuleCluster/Define/Block/Class_spec.rb
88
- - spec/ModuleCluster/Define/Block/ClassOrInstance_spec.rb
89
- - spec/ModuleCluster/Define/Block/ClassOrModule_spec.rb
90
- - spec/ModuleCluster/Define/Block/ClassOrModuleOrInstance_spec.rb
91
- - spec/ModuleCluster/Define/Block/ClassOrModuleOrSubclass_spec.rb
92
- - spec/ModuleCluster/Define/Block/ClassOrSubclass_spec.rb
93
- - spec/ModuleCluster/Define/Block/Instance_spec.rb
94
- - spec/ModuleCluster/Define/Block/Module_spec.rb
95
- - spec/ModuleCluster/Define/Block/ModuleOrInstance_spec.rb
96
- - spec/ModuleCluster/Define/Block/ModuleOrSubclass_spec.rb
97
- - spec/ModuleCluster/Define/Block/Subclass_spec.rb
98
- - spec/ModuleCluster/Define/Block_spec.rb
99
- - spec/ModuleCluster/Define/ClassCluster_spec.rb
100
- - spec/ModuleCluster/Define/ClassOrInstanceCluster_spec.rb
101
- - spec/ModuleCluster/Define/Cluster_spec.rb
102
- - spec/ModuleCluster/Define/ClusterCascades_spec.rb
103
- - spec/ModuleCluster/Define/ClusterCascadesToClass_spec.rb
104
- - spec/ModuleCluster/Define/ClusterCascadesToModule_spec.rb
105
- - spec/ModuleCluster/Define/InstanceCluster_spec.rb
106
- - spec/ModuleCluster/Define/ModuleCluster_spec.rb
107
- - spec/ModuleCluster/Define/ModuleOrClassCluster_spec.rb
108
- - spec/ModuleCluster/Define/ModuleOrInstanceCluster_spec.rb
109
- - spec/ModuleCluster/Suspend/Hooks_spec.rb
110
- - spec/ModuleCluster/Suspend/WithoutHooks_spec.rb
111
- - spec/ModuleCluster_spec.rb
37
+ - spec/module/cluster/cluster_spec.rb
38
+ - spec/module/cluster/instance_controller/hook_controller_spec.rb
39
+ - spec/module/cluster/instance_controller/multiple_hook_controller_proxy_spec.rb
40
+ - spec/module/cluster_spec.rb
112
41
  - README.md
113
- - README.rdoc
114
42
  homepage: http://rubygems.org/gems/module-cluster
115
43
  licenses: []
116
44
  post_install_message:
@@ -131,9 +59,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
59
  version: '0'
132
60
  requirements: []
133
61
  rubyforge_project: module-cluster
134
- rubygems_version: 1.8.11
62
+ rubygems_version: 1.8.23
135
63
  signing_key:
136
64
  specification_version: 3
137
- summary: ! 'Adds methods for defining module clusters using #included, #extended,
138
- #append_features, and #extend_object.'
65
+ summary: Provides an interface for event hooks at any point during module include/extend
66
+ or class subclassing.
139
67
  test_files: []
68
+ has_rdoc:
data/README.rdoc DELETED
@@ -1,395 +0,0 @@
1
- == Module Cluster
2
-
3
- http://rubygems.org/gems/module-cluster
4
-
5
- == Description
6
-
7
- Adds methods for defining module clusters using #included, #extended, #append_features, and #extend_object.
8
-
9
- == Summary
10
-
11
- Provides methods for clustering modules so that when the main module is included other modules are also included or extended, either before or after the main module. There are currently three variants: cluster, cascade, cascade to class. Cluster causes the next module to be affected. Cascade causes all subsequent modules to be affected. Cascade to class causes the first including/extending class to be affected, but not any modules prior to it (although the effects will cascade through those unaffected modules).
12
-
13
- == Install
14
-
15
- * sudo gem install module-cluster
16
-
17
- == Usage
18
-
19
- Simply:
20
-
21
- module SomeModule
22
- extend ::ModuleCluster
23
- end
24
-
25
- Definition methods accept modules as arguments.
26
-
27
- For example:
28
-
29
- module SomeModule
30
- extend ::ModuleCluster
31
- include_also_includes( SomeOtherModule )
32
- end
33
-
34
- Additionally, all methods accept a block that returns one or more modules; the modules will be added *after* any modules specified in the parameters:
35
-
36
- module SomeModule
37
- extend ::ModuleCluster
38
- include_also_includes( SomeOtherModule ) do
39
- AnotherModule
40
- end
41
- end
42
-
43
- Blocks can be used to return dynamically-determined modules at runtime.
44
-
45
- module SomeModule
46
- extend ::ModuleCluster
47
- include_or_extend_cascades_prepend_extends do
48
- method_that_returns_one_or_more_modules
49
- end
50
- end
51
-
52
- Block methods can be used for nesting declarations, for instance to apply cascades only after first module/class:
53
-
54
- prepend_module_include do |class_or_module|
55
- class_or_module.include_or_extend_cascades_prepend_extends do
56
- method_that_returns_one_or_more_modules
57
- end
58
- end
59
-
60
- Calls to the various functions are cumulative and stack in the order called. This permits multiple calls, whether subsequently or otherwise.
61
-
62
- == Methods
63
-
64
- Cluster methods:
65
-
66
- * include_also_includes
67
- * include_also_extends
68
- * include_also_includes_and_extends
69
- * extend_also_includes
70
- * extend_also_extends
71
- * extend_also_includes_and_extends
72
- * include_prepends_includes
73
- * include_prepends_extends
74
- * include_prepends_includes_and_extends
75
- * extend_prepends_includes
76
- * extend_prepends_extends
77
- * extend_prepends_includes_and_extends
78
- * include_or_extend_also_includes
79
- * include_or_extend_also_extends
80
- * include_or_extend_also_includes_and_extends
81
- * include_or_extend_prepends_includes
82
- * include_or_extend_prepends_extends
83
- * include_or_extend_prepends_includes_and_extends
84
-
85
- Module cluster methods:
86
-
87
- * module_include_also_includes
88
- * module_include_also_extends
89
- * module_include_also_includes_and_extends
90
- * module_extend_also_includes
91
- * module_extend_also_extends
92
- * module_extend_also_includes_and_extends
93
- * module_include_prepends_includes
94
- * module_include_prepends_extends
95
- * module_include_prepends_includes_and_extends
96
- * module_extend_prepends_includes
97
- * module_extend_prepends_extends
98
- * module_extend_prepends_includes_and_extends
99
- * module_include_or_extend_also_includes
100
- * module_include_or_extend_also_extends
101
- * module_include_or_extend_also_includes_and_extends
102
- * module_include_or_extend_prepends_includes
103
- * module_include_or_extend_prepends_extends
104
- * module_include_or_extend_prepends_includes_and_extends
105
-
106
- Class cluster methods:
107
-
108
- * class_include_also_includes
109
- * class_include_also_extends
110
- * class_include_also_includes_and_extends
111
- * class_extend_also_includes
112
- * class_extend_also_extends
113
- * class_extend_also_includes_and_extends
114
- * class_include_prepends_includes
115
- * class_include_prepends_extends
116
- * class_include_prepends_includes_and_extends
117
- * class_extend_prepends_includes
118
- * class_extend_prepends_extends
119
- * class_extend_prepends_includes_and_extends
120
- * class_include_or_extend_also_includes
121
- * class_include_or_extend_also_extends
122
- * class_include_or_extend_also_includes_and_extends
123
- * class_include_or_extend_prepends_includes
124
- * class_include_or_extend_prepends_extends
125
- * class_include_or_extend_prepends_includes_and_extends
126
-
127
- Instance cluster methods:
128
-
129
- * instance_extend_also_extends
130
- * instance_extend_prepends_extends
131
-
132
- Module or instance cluster methods:
133
-
134
- * module_include_or_extend_or_instance_extend_also_includes_or_extends
135
- * module_include_or_extend_or_instance_extend_also_extends
136
- * module_include_or_instance_extend_also_includes_or_extends
137
- * module_include_or_instance_extend_also_extends
138
- * module_or_instance_extend_also_extends
139
- * module_include_or_extend_or_instance_extend_prepends_includes_or_extends
140
- * module_include_or_instance_extend_prepends_includes_or_extends
141
- * module_include_or_extend_or_instance_extend_prepends_extends
142
- * module_include_or_instance_extend_prepends_extends
143
- * module_or_instance_extend_prepends_extends
144
-
145
- Class or module cluster methods:
146
-
147
- * module_or_class_include_also_includes
148
- * module_or_class_include_also_extends
149
- * module_or_class_include_also_includes_and_extends
150
- * module_or_class_extend_also_includes
151
- * module_or_class_extend_also_extends
152
- * module_or_class_extend_also_includes_and_extends
153
- * module_or_class_include_prepends_includes
154
- * module_or_class_include_prepends_extends
155
- * module_or_class_include_prepends_includes_and_extends
156
- * module_or_class_extend_prepends_includes
157
- * module_or_class_extend_prepends_extends
158
- * module_or_class_extend_prepends_includes_and_extends
159
- * module_or_class_include_or_extend_also_includes
160
- * module_or_class_include_or_extend_also_extends
161
- * module_or_class_include_or_extend_also_includes_and_extends
162
- * module_or_class_include_or_extend_prepends_includes
163
- * module_or_class_include_or_extend_prepends_extends
164
- * module_or_class_include_or_extend_prepends_includes_and_extends
165
-
166
- Class or module or instance cluster methods:
167
-
168
- * module_include_or_extend_or_instance_extend_also_includes_or_extends
169
- * module_include_or_extend_or_instance_extend_also_extends
170
- * module_include_or_instance_extend_also_includes_or_extends
171
- * module_include_or_instance_extend_also_extends
172
- * module_or_instance_extend_also_extends
173
- * module_include_or_extend_or_instance_extend_prepends_includes_or_extends
174
- * module_include_or_instance_extend_prepends_includes_or_extends
175
- * module_include_or_extend_or_instance_extend_prepends_extends
176
- * module_include_or_instance_extend_prepends_extends
177
- * module_or_instance_extend_prepends_extends
178
-
179
- Class or instance cluster methods:
180
-
181
- * class_include_or_extend_or_instance_extend_also_includes_or_extends
182
- * class_include_or_extend_or_instance_extend_also_extends
183
- * class_include_or_instance_extend_also_includes_or_extends
184
- * class_include_or_instance_extend_also_extends
185
- * class_or_instance_extend_also_extends
186
- * class_include_or_extend_or_instance_extend_prepends_includes_or_extends
187
- * class_include_or_instance_extend_prepends_includes_or_extends
188
- * class_include_or_extend_or_instance_extend_prepends_extends
189
- * class_include_or_instance_extend_prepends_extends
190
- * class_or_instance_extend_prepends_extends
191
-
192
- Cascade methods (cascades to modules and classes):
193
-
194
- * include_cascades_includes
195
- * include_cascades_extends
196
- * include_cascades_includes_and_extends
197
- * extend_cascades_includes
198
- * extend_cascades_extends
199
- * extend_cascades_includes_and_extends
200
- * include_cascades_prepend_includes
201
- * include_cascades_prepend_extends
202
- * include_cascades_prepend_includes_and_extends
203
- * extend_cascades_prepend_includes
204
- * extend_cascades_prepend_extends
205
- * extend_cascades_prepend_includes_and_extends
206
- * include_or_extend_cascades_includes
207
- * include_or_extend_cascades_extends
208
- * include_or_extend_cascades_includes_and_extends
209
- * include_or_extend_cascades_prepend_includes
210
- * include_or_extend_cascades_prepend_extends
211
- * include_or_extend_cascades_prepend_includes_and_extends
212
-
213
- Cascade to class methods (does not cascade to modules):
214
-
215
- * include_cascades_includes_to_class
216
- * include_cascades_extends_to_class
217
- * include_cascades_includes_and_extends_to_class
218
- * extend_cascades_includes_to_class
219
- * extend_cascades_extends_to_class
220
- * extend_cascades_includes_and_extends_to_class
221
- * include_cascades_to_class_prepend_includes
222
- * include_cascades_to_class_prepend_extends
223
- * include_cascades_to_class_prepend_includes_and_extends
224
- * extend_cascades_to_class_prepend_includes
225
- * extend_cascades_to_class_prepend_extends
226
- * extend_cascades_to_class_prepend_includes_and_extends
227
- * include_or_extend_cascades_includes_to_class
228
- * include_or_extend_cascades_extends_to_class
229
- * include_or_extend_cascades_includes_and_extends_to_class
230
- * include_or_extend_cascades_to_class_prepend_includes
231
- * include_or_extend_cascades_to_class_prepend_extends
232
- * include_or_extend_cascades_to_class_prepend_includes_and_extends
233
-
234
- Cascade to module methods (does not cascade to classes):
235
-
236
- * include_cascades_includes_to_module
237
- * include_cascades_extends_to_module
238
- * include_cascades_includes_and_extends_to_module
239
- * extend_cascades_includes_to_module
240
- * extend_cascades_extends_to_module
241
- * extend_cascades_includes_and_extends_to_module
242
- * include_cascades_to_module_prepend_includes
243
- * include_cascades_to_module_prepend_extends
244
- * include_cascades_to_module_prepend_includes_and_extends
245
- * extend_cascades_to_module_prepend_includes
246
- * extend_cascades_to_module_prepend_extends
247
- * extend_cascades_to_module_prepend_includes_and_extends
248
- * include_or_extend_cascades_includes_to_module
249
- * include_or_extend_cascades_extends_to_module
250
- * include_or_extend_cascades_includes_and_extends_to_module
251
- * include_or_extend_cascades_to_module_prepend_includes
252
- * include_or_extend_cascades_to_module_prepend_extends
253
- * include_or_extend_cascades_to_module_prepend_includes_and_extends
254
-
255
- Module block methods:
256
-
257
- * module_include
258
- * module_extend
259
- * module_include_or_extend
260
- * prepend_module_include
261
- * prepend_module_extend
262
- * prepend_module_include_or_extend
263
-
264
- * cascading_module_include
265
- * cascading_module_extend
266
- * cascading_module_include_or_extend
267
- * cascading_prepend_module_include
268
- * cascading_prepend_module_extend
269
- * cascading_prepend_module_include_or_extend
270
-
271
- Class block methods:
272
-
273
- * class_include
274
- * class_extend
275
- * class_include_or_extend
276
- * prepend_class_include
277
- * prepend_class_extend
278
- * prepend_class_include_or_extend
279
-
280
- * cascading_class_include
281
- * cascading_class_extend
282
- * cascading_class_include_or_extend
283
- * cascading_prepend_class_include
284
- * cascading_prepend_class_extend
285
- * cascading_prepend_class_include_or_extend
286
-
287
- Instance block methods:
288
-
289
- * instance_extend
290
- * prepend_instance_extend
291
-
292
- Class or module block methods:
293
-
294
- * class_or_module_include
295
- * class_or_module_extend
296
- * class_or_module_include_or_extend
297
- * prepend_class_or_module_include
298
- * prepend_class_or_module_extend
299
- * prepend_class_or_module_include_or_extend
300
-
301
- * cascading_class_or_module_include
302
- * cascading_class_or_module_extend
303
- * cascading_class_or_module_include_or_extend
304
- * cascading_prepend_class_or_module_include
305
- * cascading_prepend_class_or_module_extend
306
- * cascading_prepend_class_or_module_include_or_extend
307
-
308
- Module or instance block methods:
309
-
310
- * module_or_instance_extend
311
- * module_include_or_instance_extend
312
- * module_include_or_extend_or_instance_extend
313
- * prepend_module_or_instance_extend
314
- * prepend_module_include_or_instance_extend
315
- * prepend_module_include_or_extend_or_instance_extend
316
-
317
- Class or instance block methods:
318
-
319
- * class_or_instance_extend
320
- * class_include_or_instance_extend
321
- * class_include_or_extend_or_instance_extend
322
- * prepend_class_or_instance_extend
323
- * prepend_class_include_or_instance_extend
324
- * prepend_class_include_or_extend_or_instance_extend
325
-
326
- Class or module or instance block methods:
327
-
328
- * class_or_module_or_instance_extend
329
- * class_or_module_include_or_instance_extend
330
- * class_or_module_include_or_extend_or_instance_extend
331
- * prepend_class_or_module_or_instance_extend
332
- * prepend_class_or_module_include_or_instance_extend
333
- * prepend_class_or_module_include_or_extend_or_instance_extend
334
-
335
- Suspend methods:
336
-
337
- * suspend_any_hooks
338
- * suspend_any_include_hooks
339
- * suspend_any_extend_hooks
340
- * suspend_include_hooks
341
- * suspend_extend_hooks
342
- * suspend_prepend_include_hooks
343
- * suspend_prepend_extend_hooks
344
-
345
- * hooks_suspended?
346
- * all_hooks_suspended?
347
- * all_include_hooks_suspended?
348
- * all_extend_hooks_suspended?
349
- * include_hooks_suspended?
350
- * extend_hooks_suspended?
351
- * prepend_include_hooks_suspended?
352
- * prepend_extend_hooks_suspended?
353
-
354
- * resume_any_hooks
355
- * resume_any_include_hooks
356
- * resume_any_extend_hooks
357
- * resume_include_hooks
358
- * resume_extend_hooks
359
- * resume_prepend_include_hooks
360
- * resume_prepend_extend_hooks
361
-
362
- Suspend for block methods:
363
-
364
- * without_any_hooks
365
- * without_any_include_hooks
366
- * without_any_extend_hooks
367
- * without_include_hooks
368
- * without_extend_hooks
369
- * without_prepend_include_hooks
370
- * without_prepend_extend_hooks
371
-
372
- == License
373
-
374
- (The MIT License)
375
-
376
- Copyright (c) 2011 Asher
377
-
378
- Permission is hereby granted, free of charge, to any person obtaining
379
- a copy of this software and associated documentation files (the
380
- 'Software'), to deal in the Software without restriction, including
381
- without limitation the rights to use, copy, modify, merge, publish,
382
- distribute, sublicense, and/or sell copies of the Software, and to
383
- permit persons to whom the Software is furnished to do so, subject to
384
- the following conditions:
385
-
386
- The above copyright notice and this permission notice shall be
387
- included in all copies or substantial portions of the Software.
388
-
389
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
390
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
391
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
392
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
393
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
394
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
395
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.