Sha256: 9e294acdec447109077e83b3f9c18d7d45b462f702d5d0d1092b8e0a9dcd32d2

Contents?: true

Size: 555 Bytes

Versions: 15

Compression:

Stored size: 555 Bytes

Contents

require 'pre-commit/checks/plugin'

module PreCommit
  module Checks
    class GoBuild < Plugin

      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

      def run_check(file)
        cmd = "go build -o /dev/null #{file} 2>&1"
        %x[ #{cmd} ]
      end

      def self.description
        "Detects Go compiler errors"
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
pre-commit-0.40.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.39.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.38.1 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.38.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.37.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.36.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.35.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.34.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.33.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.32.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.31.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.30.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.29.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.28.0 lib/plugins/pre_commit/checks/go_build.rb
pre-commit-0.27.0 lib/plugins/pre_commit/checks/go_build.rb