Class: CodeownersValidator::DuplicateChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/codeowners_validator/checkers/duplicate_checker.rb

Defined Under Namespace

Classes: Result

Instance Method Summary collapse

Constructor Details

#initialize(entries) ⇒ DuplicateChecker

Returns a new instance of DuplicateChecker.



7
8
9
# File 'lib/codeowners_validator/checkers/duplicate_checker.rb', line 7

def initialize(entries)
  @entries = entries
end

Instance Method Details

#runObject



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/codeowners_validator/checkers/duplicate_checker.rb', line 11

def run
  by_pattern = Hash.new { |h, k| h[k] = [] }

  @entries.each do |entry|
    by_pattern[entry.pattern] << entry
  end

  duplicates = by_pattern.select { |_, v| v.size > 1 }

  Result.new(duplicates: duplicates)
end