module EvilEvents::Shared::ClonableModuleBuilder

@api public @since 0.1.0

Public Class Methods

build(&module_definitions) click to toggle source

@param module_definitions [Proc] @return [Module]

@since 0.1.0

# 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