Sha256: 2ad7e32cdd180adf44b2da6d396aa1aefe7a7b9f1fe9fe95c5a2fc04f9a7fdd2

Contents?: true

Size: 677 Bytes

Versions: 17

Compression:

Stored size: 677 Bytes

Contents

# frozen_string_literal: true

module N1Loader
  module ArLazyPreload
    module Loadable
      module ClassMethods # :nodoc:
        def n1_optimized(name, loader = nil, &block)
          name, loader_name, loader_variable_name = super

          define_method(loader_name) do
            loader = instance_variable_get(loader_variable_name)
            return loader if loader

            if respond_to?(:lazy_preload_context) && ContextAdapter.new(lazy_preload_context).try_preload_lazily(name)
              return instance_variable_get(loader_variable_name)
            end

            send("#{loader_name}_reload")
          end
        end
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
n1_loader-1.7.1 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.7.0 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.6.6 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.6.5 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.6.4 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.6.3 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.6.2 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.6.1 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.6.0 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.5.1 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.5.0 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.4.4 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.4.3 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.4.2 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.4.1 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.4.0 lib/n1_loader/ar_lazy_preload/loadable.rb
n1_loader-1.3.0 lib/n1_loader/ar_lazy_preload/loadable.rb