Sha256: 9624c733c4afd23266e0ef6229f37d09d3db2f3faa3de247e8c0bd257d653e93
Contents?: true
Size: 1022 Bytes
Versions: 8
Compression:
Stored size: 1022 Bytes
Contents
# frozen_string_literal: true class ThinkingSphinx::ActiveRecord::AssociationProxy::AttributeFinder def initialize(association) @association = association end def attribute attributes.detect { |attribute| ThinkingSphinx::ActiveRecord::AssociationProxy::AttributeMatcher.new( attribute, foreign_key ).matches? } or raise "Missing Attribute for Foreign Key #{foreign_key}" end private def attributes indices.collect(&:attributes).flatten end def configuration ThinkingSphinx::Configuration.instance end def foreign_key @foreign_key ||= reflection_target.foreign_key end def indices @indices ||= begin configuration.preload_indices configuration.indices_for_references( *ThinkingSphinx::IndexSet.reference_name(@association.klass) ).reject &:distributed? end end def reflection_target target = @association.reflection target = target.through_reflection if target.through_reflection target end end
Version data entries
8 entries across 8 versions & 1 rubygems