class PreCommit::Checks::GoBuild

Public Class Methods

description() click to toggle source
# File lib/plugins/pre_commit/checks/go_build.rb, line 22
def self.description
  "Detects Go compiler errors"
end

Public Instance Methods

call(staged_files) click to toggle source
# File lib/plugins/pre_commit/checks/go_build.rb, line 7
def call(staged_files)
  staged_files = staged_files.grep(/\.go$/)
  return if staged_files.empty?

  errors = staged_files.map { |file| run_check(file) }.compact
  return if errors.empty?

  errors.join("\n")
end
run_check(file) click to toggle source
# File lib/plugins/pre_commit/checks/go_build.rb, line 17
def run_check(file)
  cmd = "go build -o /dev/null #{file} 2>&1"
  %x[ #{cmd} ]
end