class Pronto::Punchlist::PatchInspector

Inspects a patch and reports any relevant offenses

Public Class Methods

new(punchlist_driver:, offense_matcher_class: OffenseMatcher) click to toggle source
# File lib/pronto/punchlist/patch_inspector.rb, line 10
def initialize(punchlist_driver:,
               offense_matcher_class: OffenseMatcher)
  @punchlist_driver = punchlist_driver
  @offense_matcher_class = offense_matcher_class
end

Public Instance Methods

inspect_patch(patch) click to toggle source
# File lib/pronto/punchlist/patch_inspector.rb, line 16
def inspect_patch(patch)
  path = patch.new_file_full_path

  offenses = @punchlist_driver.inspect_filename(path)

  messages = []
  offenses.each do |offense|
    offense_matcher = @offense_matcher_class.new(offense)
    message = offense_matcher.inspect_patch(patch)
    messages << message unless message.nil?
  end
  messages
end