class Overcommit::Hook::PreCommit::Scalastyle

Runs `scalastyle` against any modified Scala files.

@see www.scalastyle.org/

Constants

MESSAGE_REGEX

Public Instance Methods

run() click to toggle source
# File lib/overcommit/hook/pre_commit/scalastyle.rb, line 15
def run
  result = execute(command, args: applicable_files)
  output = result.stdout.chomp + result.stderr.chomp
  messages = output.split("\n").grep(MESSAGE_REGEX)

  return [:fail, output] unless result.success? || messages.any?

  # example message:
  #   error file=/path/to/file.scala message=Error message line=1 column=1
  extract_messages(
    messages,
    MESSAGE_REGEX,
    lambda { |type| type.to_sym }
  )
end