Sha256: 2650e3f8e3c59c430bdb2988be9ff2007529b0bbe5ca299c513f834121e4626a

Contents?: true

Size: 686 Bytes

Versions: 5

Compression:

Stored size: 686 Bytes

Contents

module Overcommit::Hook::PreCommit
  # Runs `credo` against any modified ex files.
  #
  # @see https://github.com/rrrene/credo
  class Credo < Base
    # example message:
    # lib/file1.ex:1:11: R: Modules should have a @moduledoc tag.
    # lib/file2.ex:12:81: R: Line is too long (max is 80, was 81).

    def run
      result = execute(command, args: applicable_files)
      return :pass if result.success?

      result.stdout.split("\n").map(&:strip).reject(&:empty?).
        map { |error| message(error) }
    end

    private

    def message(error)
      file, line = error.split(':')
      Overcommit::Hook::Message.new(:error, file, Integer(line), error)
    end
  end
end

Version data entries

5 entries across 3 versions & 2 rubygems

Version Path
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/pre_commit/credo.rb
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/pre_commit/credo.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/config_gems_initialization_aim-0.1.1/vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/pre_commit/credo.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/pre_commit/credo.rb
overcommit-0.46.0 lib/overcommit/hook/pre_commit/credo.rb