module Priloo::ActiveRecordSupport

Constants

PRILOO_SUFFIX_REGEX

Public Instance Methods

_preloadable_target() click to toggle source
# File lib/priloo/active_record_support.rb, line 36
def _preloadable_target
    self
end
generate_priloo_method(method) click to toggle source
# File lib/priloo/active_record_support.rb, line 17
def generate_priloo_method(method)
    index = method =~ PRILOO_SUFFIX_REGEX
    return unless index

    property = method.slice(0, index).to_sym

    preloader =
        case
        when self.class.reflect_on_association(property)
            Preloaders::ArAssociationPreloader.new(self.class, property)
        when self.class.respond_to?("#{property}_sql")
            Preloaders::BmInjectorPreloader.new(self.class, property)
        end

    self.class.define_method(method) { preloader }

    preloader
end
method_missing(method, *) click to toggle source
Calls superclass method
# File lib/priloo/active_record_support.rb, line 7
def method_missing(method, *)
    generate_priloo_method(method) || super
end
respond_to_missing?(method, _) click to toggle source
Calls superclass method
# File lib/priloo/active_record_support.rb, line 11
def respond_to_missing?(method, _)
    !generate_priloo_method(method).nil? || super
end