class Priloo::Preloadable::PreloadDependencies
Attributes
preloader[R]
Public Class Methods
new(*)
click to toggle source
Calls superclass method
# File lib/priloo/preloadable.rb, line 27 def initialize(*) super @preloader = Preloaders::GenericPreloader.new( decorated_method_name, dependencies: [*decorator_args, **decorator_kwargs] ) { |list| list.map { |inst| undecorated_method.bind(inst._preloadable_target).call } } decorated_class.declare_preloader(decorated_method_name, preloader) end
Public Instance Methods
call(instance, *)
click to toggle source
# File lib/priloo/preloadable.rb, line 38 def call(instance, *) return preloader.extract(instance) if preloader.injected?(instance) preloader.preload([instance].bm_preload(*decorator_args, **decorator_kwargs)).first end