Sha256: ac03ce2d90e2b322a0f679a007c4f5d2d01c57a1109738f8f58861b76551d905
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
require 'active_record/associations/builder/association' require 'active_record/associations/preloader/association' module ActiveRecord module Associations module Builder class Association #:nodoc: VALID_OPTIONS += [:preload_if] end end class Preloader class Association #:nodoc: def preload_filters [options[:preload_if]].flatten.compact end def owners_filtered unless defined?(@owners_filtered) @owners_filtered = owners.dup preload_filters.each do |filter| case filter when Proc @owners_filtered.select!(&filter) when Symbol @owners_filtered.select! { |record| record.send(filter) } end end end @owners_filtered end remove_method :owner_keys def owner_keys unless defined?(@owner_keys) @owner_keys = owners_filtered.map do |owner| owner[owner_key_name] end @owner_keys.uniq! @owner_keys.compact! end @owner_keys end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_record_association_query_economizer-0.1.0 | lib/active_record_association_query_economizer/rails5/associations.rb |