Module: SuperModule
- Defined in:
- lib/super_module.rb,
lib/super_module/module_body_method_call_recorder.rb,
lib/super_module/singleton_method_definition_store.rb
Defined Under Namespace
Modules: ModuleBodyMethodCallRecorder, SingletonMethodDefinitionStore
Class Method Summary collapse
Class Method Details
.included(original_base) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/super_module.rb', line 14 def self.included(original_base) original_base.class_eval do extend SuperModule::ModuleBodyMethodCallRecorder extend SuperModule::SingletonMethodDefinitionStore class << self def __define_super_module_singleton_methods(base) __super_module_singleton_methods.each do |method_name, method_body| base.class_eval(method_body) end end def __invoke_module_body_method_calls(base) __all_module_body_method_calls_in_definition_order.each do |method_name, args, block| base.send(method_name, *args, &block) end end def included(base) __define_super_module_singleton_methods(base) __invoke_module_body_method_calls(base) end end end end |