Sha256: 6e448117490a668c1cf6ae1dde765236b898abd8baf52d5d637330d892c7cfd5

Contents?: true

Size: 730 Bytes

Versions: 13

Compression:

Stored size: 730 Bytes

Contents

module Overcommit::Hook::CommitMsg
  # Ensures the commit message follows a specific format.
  class MessageFormat < Base
    def run
      error_msg = validate_pattern(commit_message_lines.join("\n"))
      return :fail, error_msg if error_msg

      :pass
    end

    private

    def validate_pattern(message)
      pattern = config['pattern']
      return if pattern.empty?

      expected_pattern_message = config['expected_pattern_message']
      sample_message = config['sample_message']

      unless message =~ /#{pattern}/
        [
          'Commit message pattern mismatch.',
          "Expected : #{expected_pattern_message}",
          "Sample : #{sample_message}"
        ].join("\n")
      end
    end
  end
end

Version data entries

13 entries across 11 versions & 2 rubygems

Version Path
config_gems_initialization_aim-0.1.4 vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/commit_msg/message_format.rb
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/commit_msg/message_format.rb
config_gems_initialization_aim-0.1.3 vendor/bundle/ruby/2.5.0/gems/overcommit-0.46.0/lib/overcommit/hook/commit_msg/message_format.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/commit_msg/message_format.rb
overcommit-0.46.0 lib/overcommit/hook/commit_msg/message_format.rb
overcommit-0.45.0 lib/overcommit/hook/commit_msg/message_format.rb
overcommit-0.44.0 lib/overcommit/hook/commit_msg/message_format.rb
overcommit-0.43.0 lib/overcommit/hook/commit_msg/message_format.rb
overcommit-0.42.0 lib/overcommit/hook/commit_msg/message_format.rb
overcommit-0.41.0 lib/overcommit/hook/commit_msg/message_format.rb
overcommit-0.40.0 lib/overcommit/hook/commit_msg/message_format.rb
overcommit-0.39.1 lib/overcommit/hook/commit_msg/message_format.rb
overcommit-0.39.0 lib/overcommit/hook/commit_msg/message_format.rb