Class: Packwerk::ReferenceChecking::ReferenceChecker

Inherits:
Object
  • Object
show all
Defined in:
lib/packwerk/reference_checking/reference_checker.rb

Instance Method Summary collapse

Constructor Details

#initialize(checkers) ⇒ ReferenceChecker

: (Array checkers) -> void



8
9
10
# File 'lib/packwerk/reference_checking/reference_checker.rb', line 8

def initialize(checkers)
  @checkers = checkers
end

Instance Method Details

#call(reference) ⇒ Object

: (Reference reference) -> Array



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/packwerk/reference_checking/reference_checker.rb', line 13

def call(reference)
  @checkers.each_with_object([]) do |checker, violations|
    next unless checker.invalid_reference?(reference)

    offense = Packwerk::ReferenceOffense.new(
      location: reference.source_location,
      reference: reference,
      violation_type: checker.violation_type,
      message: checker.message(reference)
    )
    violations << offense
  end
end