module ReeMapper

def self.build_mapper_factory(mod)

def self.build_mapper_factory(mod)
  pckg_name = ReeString::Underscore.new.call(mod.name)
  factory_path = "#{pckg_name}/mapper_factory"
  if Ree.irb_mode? && Object.const_defined?("#{mod.name}::MapperFactory") && mod != self
    return Object.const_get("#{mod.name}::MapperFactory").new
  end
  mapper_factory_klass = if package_file_exists?(factory_path) && mod != self
    package_require(factory_path)
    Object.const_get("#{mod.name}::MapperFactory")
  else
    ReeMapper::DefaultFactory
  end
  mapper_factory_klass.new
end