# File lib/brakeman/checks/check_secrets.rb, line 12
  def check_constants
    @warned = Set.new

    @tracker.constants.each do |constant|
      name = constant.name_array.last
      value = constant.value

      if string? value and not value.value.empty? and looks_like_secret? name
        match = [name, value, value.line]

        unless @warned.include? match
          @warned << match

          warn :warning_code => :secret_in_source,
            :warning_type => "Authentication",
            :message => msg("Hardcoded value for ", msg_code(name), " in source code"),
            :confidence => :medium,
            :file => constant.file,
            :line => constant.line
        end
      end
    end
  end