class Overcommit::Hook::PreCommit::Pydocstyle

Runs ‘pydocstyle` against any modified Python files.

@see pypi.python.org/pypi/pydocstyle

Public Instance Methods

run() click to toggle source
# File lib/overcommit/hook/pre_commit/pydocstyle.rb, line 8
def run
  result = execute(command, args: applicable_files)
  return :pass if result.success?

  output = result.stderr.chomp

  # example message:
  #   path/to/file.py:1 in public method `foo`:
  #           D102: Docstring missing
  extract_messages(
    output.gsub(/:\s+/, ': ').split("\n"),
    /^(?<file>(?:\w:)?[^:]+):(?<line>\d+)/
  )
end