class Priloo::Preloadable::PreloadBatch
Public Class Methods
new(*)
click to toggle source
Calls superclass method
# File lib/priloo/preloadable.rb, line 50 def initialize(*) super clazz = ObjectSpace.each_object(decorated_class).first preloader = Preloaders::GenericPreloader.new( decorated_method_name, dependencies: [*decorator_args, **decorator_kwargs] ) { |list| undecorated_method.bind(clazz).call(list) } clazz.declare_preloader(decorated_method_name, preloader) clazz.send(:define_method, decorated_method_name) do return preloader.extract(self) if preloader.injected?(self) preloader.preload([self]).first end end