Sha256: 4acacb8be073038e2f5488a2ec4d94c90503f4ce26e3ee6b88ec0cab6de3cb8c
Contents?: true
Size: 742 Bytes
Versions: 19
Compression:
Stored size: 742 Bytes
Contents
# frozen_string_literal: true module Overcommit::Hook::PreCommit # Runs `phpstan` against any modified PHP files. # For running `phpstan` with Laravel, it requires setup with `ide_helper`. # # References: # https://github.com/phpstan/phpstan/issues/239 # https://gist.github.com/edmondscommerce/89695c9cd2584fefdf540fb1c528d2c2 class PhpStan < Base MESSAGE_REGEX = /^(?<file>.+)\:(?<line>\d+)\:(?<message>.+)/ 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 end end
Version data entries
19 entries across 19 versions & 2 rubygems