module Configure

Public Class Methods

activate(target_class=nil, factory_method: nil, constructor: nil) click to toggle source
# File lib/configure/activate.rb, line 2
def self.activate(target_class=nil, factory_method: nil, constructor: nil)
  target_class ||= Object

  unless constructor.nil?
    factory_method = constructor
  end

  macro_module = Configure::Macro

  return if target_class.is_a?(macro_module)

  target_class.extend(macro_module)

  target_class.default_factory_method = factory_method
end
extended(cls) click to toggle source
# File lib/configure/configure.rb, line 8
def self.extended(cls)
  cls.class_exec do
    extend Macro
  end
end
included(cls) click to toggle source
# File lib/configure/configure.rb, line 2
def self.included(cls)
  cls.class_exec do
    extend Macro
  end
end