Module: N1Loader::Loadable::ClassMethods

Defined in:
lib/n1_loader/core/loadable.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#n1_loadersObject



71
72
73
# File 'lib/n1_loader/core/loadable.rb', line 71

def n1_loaders
  @n1_loaders ||= superclass.respond_to?(:n1_loaders) ? superclass.n1_loaders.dup : {}
end

#n1_optimized(name, loader = nil, &block) ⇒ Object



75
76
77
78
79
80
81
82
83
84
85
# File 'lib/n1_loader/core/loadable.rb', line 75

def n1_optimized(name, loader = nil, &block)
  loader ||= LoaderBuilder.build(&block)

  n1_loaders[name] = loader

  define_method(name) do |reload: false, **args|
    n1_loader_reload(name) if reload || n1_loader(name).nil?

    n1_loader(name).with(**args).for(self)
  end
end