class Ransack::Adapters::ActiveRecord::JoinAssociation

def swapping_reflection_klass(reflection, klass)

def swapping_reflection_klass(reflection, klass)
  reflection = reflection.clone
  original_polymorphic = reflection.options.delete(:polymorphic)
  reflection.instance_variable_set(:@klass, klass)
  yield reflection
ensure
  reflection.options[:polymorphic] = original_polymorphic
end