Module: EvilEvents::Shared::ClonableModuleBuilder

Defined in:
lib/evil_events/shared/clonable_module_builder.rb

Overview

Since:

  • 0.1.0

Class Method Summary collapse

Class Method Details

.build(&module_definitions) ⇒ Module

Parameters:

  • module_definitions (Proc)

Returns:

  • (Module)

Since:

  • 0.1.0



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/evil_events/shared/clonable_module_builder.rb', line 12

def build(&module_definitions)
  Module.new do
    class_eval(&module_definitions) if block_given?

    singleton_class.instance_eval do
      define_method :module_clone do
        ClonableModuleBuilder.build(&module_definitions)
      end
    end
  end
end