class Bullet::Detector::NPlusOneQuery

def add_possible_objects(object_or_objects)

def add_possible_objects(object_or_objects)
  return unless Bullet.start?
  return unless Bullet.n_plus_one_query_enable?
  objects = Array.wrap(object_or_objects)
  class_names_match_regex = true
  primary_key_values_are_empty = true
  keys_joined = objects.map do |obj|
    unless obj.class.name =~ /^HABTM_/
      class_names_match_regex = false
    end
    unless obj.bullet_primary_key_value.nil?
      primary_key_values_are_empty = false
    end
    obj.bullet_key
  end.join(", ")
  unless class_names_match_regex || primary_key_values_are_empty
    Bullet.debug('Detector::NPlusOneQuery#add_possible_objects', "objects: #{keys_joined}")
    objects.each { |object| possible_objects.add object.bullet_key }
  end
end