blob: 16a8bf2de96f44beeb18a8e836f4ace3f0ed2dd6 [file] [log] [blame]
// Copyright (C) 2019 GerritForge Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.googlesource.gerrit.plugins.analytics.common
import scala.util.matching.Regex
trait BotLikeExtractor {
def isBotLike(files: Set[String]): Boolean
}
class BotLikeExtractorImpl(botLikeIdentifiers: List[String]) extends BotLikeExtractor {
private val botRegexps = new Regex(botLikeIdentifiers.mkString("|"))
override def isBotLike(files: Set[String]): Boolean = botLikeIdentifiers.nonEmpty && files.forall(botRegexps.findFirstIn(_).isDefined)
}