class Pronto::Punchlist

Performs incremental quality reporting for the punchlist gem

Public Class Methods

new(patches, commit = nil, regexp_string: ::Punchlist::Config .default_punchlist_line_regexp_string, punchlist_regexp: Regexp.new(regexp_string), punchlist_driver: PunchlistDriver.new(punchlist_regexp), patch_inspector: PatchInspector.new(punchlist_driver: punchlist_driver), patch_validator: PatchValidator.new) click to toggle source
Calls superclass method
# File lib/pronto/punchlist.rb, line 12
def initialize(patches, commit = nil,
               regexp_string: ::Punchlist::Config
                 .default_punchlist_line_regexp_string,
               punchlist_regexp: Regexp.new(regexp_string),
               punchlist_driver: PunchlistDriver.new(punchlist_regexp),
               patch_inspector: PatchInspector.new(punchlist_driver:
                                                     punchlist_driver),
               patch_validator: PatchValidator.new)
  super(patches, commit)
  @patch_inspector = patch_inspector
  @patch_validator = patch_validator
end

Public Instance Methods

inspect_patch(patch) click to toggle source
# File lib/pronto/punchlist.rb, line 34
def inspect_patch(patch)
  if valid_patch?(patch)
    @patch_inspector.inspect_patch(patch)
  else
    []
  end
end
run() click to toggle source
# File lib/pronto/punchlist.rb, line 26
def run
  @patches.flat_map { |patch| inspect_patch(patch) }
end
valid_patch?(patch) click to toggle source
# File lib/pronto/punchlist.rb, line 30
def valid_patch?(patch)
  @patch_validator.valid_patch?(patch)
end