class ActiveRecord::Associations::AssociationScope

def self.get_bind_values(owner, chain)

def self.get_bind_values(owner, chain)
  binds = []
  last_reflection = chain.last
  binds << last_reflection.join_id_for(owner)
  if last_reflection.type
    binds << owner.class.polymorphic_name
  end
  chain.each_cons(2).each do |reflection, next_reflection|
    if reflection.type
      binds << next_reflection.klass.polymorphic_name
    end
  end
  binds
end