class Overcommit::Hook::PreCommit::PhpStan

Runs `phpstan` against any modified PHP files. For running `phpstan` with Laravel, it requires setup with `ide_helper`.

References: github.com/phpstan/phpstan/issues/239 gist.github.com/edmondscommerce/89695c9cd2584fefdf540fb1c528d2c2

Constants

MESSAGE_REGEX

Public Instance Methods

run() click to toggle source
# File lib/overcommit/hook/pre_commit/php_stan.rb, line 13
def run
  messages = []

  result = execute(command, args: applicable_files)

  unless result.success?
    messages += result.stdout.lstrip.split("\n")
  end

  return :pass if messages.empty?

  extract_messages(
    messages,
    MESSAGE_REGEX
  )
end