overcommit 0.30.0 → 0.31.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6b041ebaa80bcfe3013027b461fd01453c6b9206
4
- data.tar.gz: aa64ece4843d4d6153850d9e8e2a3bc14399257c
3
+ metadata.gz: 8f165cfdcb2a7a4293e715b273489473ed22d4a3
4
+ data.tar.gz: 3aac84eccfbc7f7096cb7a7216118eac072996b7
5
5
  SHA512:
6
- metadata.gz: c2c6d61a99022f38a43bcaa286bb5907fda839325d0334112450e45226b52b51b3b52841121ef767dbabaed8bec3d595a8129c9fabbee2691eff8f994fea9a68
7
- data.tar.gz: c36a4c528cb64b8387caeeedee2dda72207da0d42fc4c92b849fd9d9c0e7ee5bfa2a3a998165fdea66a4d7c91632dcc5521b2e7d47cffc3550910480e99ad446
6
+ metadata.gz: 39205b47a623e3ed2377af1305290c138e35c1926f12b98c2be2e18533ad808b138c666f40b4ab59393b0ca5ef16ecca971279d65f3b51b8a56209ba791e2669
7
+ data.tar.gz: e129c516f6953be502dc60737c263487a38ab1ecc0a8866a28e8edf980026c45aec3c340675e8508f9ce59981f72893af946b13491882990e1746b325e3ab898
data/config/default.yml CHANGED
@@ -324,6 +324,13 @@ PreCommit:
324
324
  flags: ['-IHnE', "^[^#]*((\\bpath:)|(:path[ \t]*=>))"]
325
325
  include: '**/Gemfile'
326
326
 
327
+ Mdl:
328
+ enabled: false
329
+ description: 'Analyzing with mdl'
330
+ required_executable: 'mdl'
331
+ install_command: 'gem install mdl'
332
+ include: '**/*.md'
333
+
327
334
  MergeConflicts:
328
335
  enabled: true
329
336
  description: 'Checking for merge conflicts'
@@ -392,6 +399,7 @@ PreCommit:
392
399
  enabled: false
393
400
  description: 'Analyzing with RailsBestPractices'
394
401
  required_executable: 'rails_best_practices'
402
+ flags: ['--without-color']
395
403
  install_command: 'gem install rails_best_practices'
396
404
 
397
405
  RailsSchemaUpToDate:
@@ -19,7 +19,6 @@ module Overcommit
19
19
  def ==(other)
20
20
  super || @hash == other.hash
21
21
  end
22
- alias_method :eql?, :==
23
22
 
24
23
  # Access the configuration as if it were a hash.
25
24
  #
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Global application constants.
2
4
  module Overcommit
3
- HOME = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
4
- CONFIG_FILE_NAME = '.overcommit.yml'
5
+ HOME = File.expand_path(File.join(File.dirname(__FILE__), '..', '..')).freeze
6
+ CONFIG_FILE_NAME = '.overcommit.yml'.freeze
5
7
 
6
- HOOK_DIRECTORY = File.join(HOME, 'lib', 'overcommit', 'hook')
8
+ HOOK_DIRECTORY = File.join(HOME, 'lib', 'overcommit', 'hook').freeze
7
9
 
8
- REPO_URL = 'https://github.com/brigade/overcommit'
9
- BUG_REPORT_URL = "#{REPO_URL}/issues"
10
+ REPO_URL = 'https://github.com/brigade/overcommit'.freeze
11
+ BUG_REPORT_URL = "#{REPO_URL}/issues".freeze
10
12
  end
@@ -11,6 +11,9 @@ module Overcommit::Exceptions
11
11
  # Raised when there was a problem reading submodule information for a repo.
12
12
  class GitSubmoduleError < StandardError; end
13
13
 
14
+ # Raised when there was a problem reading git revision information with `rev-list`.
15
+ class GitRevListError < StandardError; end
16
+
14
17
  # Raised when a {HookContext} is unable to setup the environment before a run.
15
18
  class HookSetupFailed < StandardError; end
16
19
 
@@ -11,7 +11,7 @@ module Overcommit::Hook
11
11
  end
12
12
 
13
13
  # Possible types of messages.
14
- MESSAGE_TYPES = [:error, :warning]
14
+ MESSAGE_TYPES = [:error, :warning].freeze
15
15
 
16
16
  # Functionality common to all hooks.
17
17
  class Base # rubocop:disable Metrics/ClassLength
@@ -5,7 +5,7 @@ module Overcommit::Hook::CommitMsg
5
5
  return :pass if empty_message?
6
6
 
7
7
  first_letter = commit_message_lines[0].to_s.match(/^[[:punct:]]*(.)/)[1]
8
- unless first_letter.match(/[[:upper:]]/)
8
+ unless first_letter =~ /[[:upper:]]/
9
9
  return :warn, 'Subject should start with a capital letter'
10
10
  end
11
11
 
@@ -40,7 +40,9 @@ module Overcommit::Hook::PreCommit
40
40
  end
41
41
 
42
42
  def extract_file(match, message)
43
- if match[:file].nil? || match[:file].empty?
43
+ return unless match.names.include?('file')
44
+
45
+ if match[:file].to_s.empty?
44
46
  raise "Unexpected output: no file found in '#{message}'"
45
47
  end
46
48
 
@@ -48,6 +50,7 @@ module Overcommit::Hook::PreCommit
48
50
  end
49
51
 
50
52
  def extract_line(match, message)
53
+ return unless match.names.include?('line')
51
54
  Integer(match[:line])
52
55
  rescue ArgumentError, TypeError
53
56
  raise "Unexpected output: invalid line number found in '#{message}'"
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Check if local Berksfile.lock matches Berksfile when either changes, unless
3
5
  # Berksfile.lock is ignored by git.
4
6
  #
5
7
  # @see http://berkshelf.com/
6
8
  class BerksfileCheck < Base
7
- LOCK_FILE = 'Berksfile.lock'
9
+ LOCK_FILE = 'Berksfile.lock'.freeze
8
10
 
9
11
  def run
10
12
  # Ignore if Berksfile.lock is not tracked by git
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Hook::PreCommit
2
4
  # Check if local Gemfile.lock matches Gemfile when either changes, unless
3
5
  # Gemfile.lock is ignored by git.
4
6
  #
5
7
  # @see http://bundler.io/
6
8
  class BundleCheck < Base
7
- LOCK_FILE = 'Gemfile.lock'
9
+ LOCK_FILE = 'Gemfile.lock'.freeze
8
10
 
9
11
  def run
10
12
  # Ignore if Gemfile.lock is not tracked by git
@@ -0,0 +1,23 @@
1
+ module Overcommit::Hook::PreCommit
2
+ # Runs `mdl` against any modified Markdown files
3
+ #
4
+ # @see https://github.com/mivok/markdownlint
5
+ class Mdl < Base
6
+ MESSAGE_REGEX = /^(?<file>(?:\w:)?[^:]+):(?<line>\d+)/
7
+
8
+ def run
9
+ result = execute(command, args: applicable_files)
10
+ output = result.stdout.chomp
11
+
12
+ return :pass if result.success?
13
+ return [:fail, result.stderr] unless result.stderr.empty?
14
+
15
+ # example message:
16
+ # path/to/file.md:1: MD001 Error message
17
+ extract_messages(
18
+ output.split("\n"),
19
+ MESSAGE_REGEX
20
+ )
21
+ end
22
+ end
23
+ end
@@ -3,20 +3,31 @@ module Overcommit::Hook::PreCommit
3
3
  #
4
4
  # @see http://batsov.com/rubocop/
5
5
  class RuboCop < Base
6
- MESSAGE_TYPE_CATEGORIZER = lambda do |type|
6
+ GENERIC_MESSAGE_TYPE_CATEGORIZER = lambda do |type|
7
+ type =~ /^warn/ ? :warning : :error
8
+ end
9
+
10
+ COP_MESSAGE_TYPE_CATEGORIZER = lambda do |type|
7
11
  type.include?('W') ? :warning : :error
8
12
  end
9
13
 
10
14
  def run
11
15
  result = execute(command, args: applicable_files)
12
16
  return :pass if result.success?
13
- return [:fail, result.stderr] unless result.stderr.empty?
14
17
 
15
- extract_messages(
18
+ generic_messages = extract_messages(
19
+ result.stderr.split("\n"),
20
+ /^(?<type>[a-z]+)/i,
21
+ GENERIC_MESSAGE_TYPE_CATEGORIZER,
22
+ )
23
+
24
+ cop_messages = extract_messages(
16
25
  result.stdout.split("\n"),
17
26
  /^(?<file>(?:\w:)?[^:]+):(?<line>\d+):[^ ]+ (?<type>[^ ]+)/,
18
- MESSAGE_TYPE_CATEGORIZER,
27
+ COP_MESSAGE_TYPE_CATEGORIZER,
19
28
  )
29
+
30
+ generic_messages + cop_messages
20
31
  end
21
32
  end
22
33
  end
@@ -13,15 +13,22 @@ module Overcommit::Hook::PrePush
13
13
 
14
14
  private
15
15
 
16
- def branches
17
- @branches ||= config['branches']
18
- end
19
-
20
16
  def illegal_pushes
21
17
  @illegal_pushes ||= pushed_refs.select do |pushed_ref|
22
- (pushed_ref.deleted? || pushed_ref.forced?) &&
23
- branches.any? { |branch| pushed_ref.remote_ref == "refs/heads/#{branch}" }
18
+ protected?(pushed_ref.remote_ref) && pushed_ref.destructive?
24
19
  end
25
20
  end
21
+
22
+ def protected?(remote_ref)
23
+ ref_name = remote_ref[%r{refs/heads/(.*)}, 1]
24
+ protected_branch_patterns.any? do |pattern|
25
+ File.fnmatch(pattern, ref_name)
26
+ end
27
+ end
28
+
29
+ def protected_branch_patterns
30
+ @protected_branch_patterns ||= Array(config['branches']).
31
+ concat(Array(config['branch_patterns']))
32
+ end
26
33
  end
27
34
  end
@@ -30,6 +30,10 @@ module Overcommit::HookContext
30
30
  local_sha1 == '0' * 40
31
31
  end
32
32
 
33
+ def destructive?
34
+ deleted? || forced?
35
+ end
36
+
33
37
  def to_s
34
38
  "#{local_ref} #{local_sha1} #{remote_ref} #{remote_sha1}"
35
39
  end
@@ -37,7 +41,14 @@ module Overcommit::HookContext
37
41
  private
38
42
 
39
43
  def overwritten_commits
40
- `git rev-list #{remote_sha1} ^#{local_sha1}`.split("\n")
44
+ return @overwritten_commits if defined? @overwritten_commits
45
+ result = Overcommit::Subprocess.spawn(%W[git rev-list #{remote_sha1} ^#{local_sha1}])
46
+ if result.success?
47
+ result.stdout.split("\n")
48
+ else
49
+ raise Overcommit::Exceptions::GitRevListError,
50
+ "Unable to check if commits on the remote ref will be overwritten: #{result.stderr}"
51
+ end
41
52
  end
42
53
  end
43
54
  end
@@ -5,7 +5,7 @@ module Overcommit
5
5
 
6
6
  # We don't want to include the skip setting as it is set by Overcommit
7
7
  # itself
8
- IGNORED_CONFIG_KEYS = %w[skip]
8
+ IGNORED_CONFIG_KEYS = %w[skip].freeze
9
9
 
10
10
  # @param hook_name [String] name of the hook
11
11
  # @param config [Overcommit::Configuration]
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit
2
4
  # Utility class that encapsulates the handling of hook messages and whether
3
5
  # they affect lines the user has modified or not.
@@ -6,10 +8,12 @@ module Overcommit
6
8
  # output tuple from an array of {Overcommit::Hook::Message}s, respecting the
7
9
  # configuration settings for the given hook.
8
10
  class MessageProcessor
9
- ERRORS_MODIFIED_HEADER = 'Errors on modified lines:'
10
- WARNINGS_MODIFIED_HEADER = 'Warnings on modified lines:'
11
- ERRORS_UNMODIFIED_HEADER = "Errors on lines you didn't modify:"
12
- WARNINGS_UNMODIFIED_HEADER = "Warnings on lines you didn't modify:"
11
+ ERRORS_MODIFIED_HEADER = 'Errors on modified lines:'.freeze
12
+ WARNINGS_MODIFIED_HEADER = 'Warnings on modified lines:'.freeze
13
+ ERRORS_UNMODIFIED_HEADER = "Errors on lines you didn't modify:".freeze
14
+ WARNINGS_UNMODIFIED_HEADER = "Warnings on lines you didn't modify:".freeze
15
+ ERRORS_GENERIC_HEADER = 'Errors:'.freeze
16
+ WARNINGS_GENERIC_HEADER = 'Warnings:'.freeze
13
17
 
14
18
  # @param hook [Overcommit::Hook::Base]
15
19
  # @param unmodified_lines_setting [String] how to treat messages on
@@ -40,10 +44,19 @@ module Overcommit
40
44
  def handle_modified_lines(messages, status)
41
45
  messages = remove_ignored_messages(messages)
42
46
 
43
- messages_on_modified_lines, messages_on_unmodified_lines =
44
- messages.partition { |message| message_on_modified_line?(message) }
47
+ messages_with_line, generic_messages = messages.partition(&:line)
45
48
 
49
+ # Always print generic messages first
46
50
  output = print_messages(
51
+ generic_messages,
52
+ ERRORS_GENERIC_HEADER,
53
+ WARNINGS_GENERIC_HEADER
54
+ )
55
+
56
+ messages_on_modified_lines, messages_on_unmodified_lines =
57
+ messages_with_line.partition { |message| message_on_modified_line?(message) }
58
+
59
+ output += print_messages(
47
60
  messages_on_modified_lines,
48
61
  ERRORS_MODIFIED_HEADER,
49
62
  WARNINGS_MODIFIED_HEADER
@@ -54,7 +67,7 @@ module Overcommit
54
67
  WARNINGS_UNMODIFIED_HEADER
55
68
  )
56
69
 
57
- [transform_status(status, messages_on_modified_lines), output]
70
+ [transform_status(status, generic_messages + messages_on_modified_lines), output]
58
71
  end
59
72
 
60
73
  def transform_status(status, messages_on_modified_lines)
data/lib/overcommit/os.rb CHANGED
@@ -27,10 +27,10 @@ module Overcommit
27
27
  private
28
28
 
29
29
  def host_os
30
- @os ||= ::RbConfig::CONFIG['host_os']
30
+ @os ||= ::RbConfig::CONFIG['host_os'].freeze
31
31
  end
32
32
  end
33
33
 
34
- SEPARATOR = self.windows? ? '\\' : File::SEPARATOR
34
+ SEPARATOR = (windows? ? '\\' : File::SEPARATOR).freeze
35
35
  end
36
36
  end
@@ -1,4 +1,6 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Defines the gem version.
2
4
  module Overcommit
3
- VERSION = '0.30.0'
5
+ VERSION = '0.31.0'.freeze
4
6
  end
@@ -30,7 +30,15 @@ require 'yaml'
30
30
  # rubocop:disable Style/RescueModifier
31
31
  if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
32
32
  ENV['BUNDLE_GEMFILE'] = gemfile
33
- require 'bundler/setup'
33
+ require 'bundler'
34
+
35
+ begin
36
+ Bundler.setup
37
+ rescue Bundler::BundlerError => ex
38
+ puts "Problem loading '#{gemfile}': #{ex.message}"
39
+ puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
40
+ exit 78 # EX_CONFIG
41
+ end
34
42
  end
35
43
  # rubocop:enable Style/RescueModifier
36
44
 
@@ -30,7 +30,15 @@ require 'yaml'
30
30
  # rubocop:disable Style/RescueModifier
31
31
  if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
32
32
  ENV['BUNDLE_GEMFILE'] = gemfile
33
- require 'bundler/setup'
33
+ require 'bundler'
34
+
35
+ begin
36
+ Bundler.setup
37
+ rescue Bundler::BundlerError => ex
38
+ puts "Problem loading '#{gemfile}': #{ex.message}"
39
+ puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
40
+ exit 78 # EX_CONFIG
41
+ end
34
42
  end
35
43
  # rubocop:enable Style/RescueModifier
36
44
 
@@ -30,7 +30,15 @@ require 'yaml'
30
30
  # rubocop:disable Style/RescueModifier
31
31
  if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
32
32
  ENV['BUNDLE_GEMFILE'] = gemfile
33
- require 'bundler/setup'
33
+ require 'bundler'
34
+
35
+ begin
36
+ Bundler.setup
37
+ rescue Bundler::BundlerError => ex
38
+ puts "Problem loading '#{gemfile}': #{ex.message}"
39
+ puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
40
+ exit 78 # EX_CONFIG
41
+ end
34
42
  end
35
43
  # rubocop:enable Style/RescueModifier
36
44
 
@@ -30,7 +30,15 @@ require 'yaml'
30
30
  # rubocop:disable Style/RescueModifier
31
31
  if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
32
32
  ENV['BUNDLE_GEMFILE'] = gemfile
33
- require 'bundler/setup'
33
+ require 'bundler'
34
+
35
+ begin
36
+ Bundler.setup
37
+ rescue Bundler::BundlerError => ex
38
+ puts "Problem loading '#{gemfile}': #{ex.message}"
39
+ puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
40
+ exit 78 # EX_CONFIG
41
+ end
34
42
  end
35
43
  # rubocop:enable Style/RescueModifier
36
44
 
@@ -30,7 +30,15 @@ require 'yaml'
30
30
  # rubocop:disable Style/RescueModifier
31
31
  if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
32
32
  ENV['BUNDLE_GEMFILE'] = gemfile
33
- require 'bundler/setup'
33
+ require 'bundler'
34
+
35
+ begin
36
+ Bundler.setup
37
+ rescue Bundler::BundlerError => ex
38
+ puts "Problem loading '#{gemfile}': #{ex.message}"
39
+ puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
40
+ exit 78 # EX_CONFIG
41
+ end
34
42
  end
35
43
  # rubocop:enable Style/RescueModifier
36
44
 
@@ -30,7 +30,15 @@ require 'yaml'
30
30
  # rubocop:disable Style/RescueModifier
31
31
  if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
32
32
  ENV['BUNDLE_GEMFILE'] = gemfile
33
- require 'bundler/setup'
33
+ require 'bundler'
34
+
35
+ begin
36
+ Bundler.setup
37
+ rescue Bundler::BundlerError => ex
38
+ puts "Problem loading '#{gemfile}': #{ex.message}"
39
+ puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
40
+ exit 78 # EX_CONFIG
41
+ end
34
42
  end
35
43
  # rubocop:enable Style/RescueModifier
36
44
 
@@ -30,7 +30,15 @@ require 'yaml'
30
30
  # rubocop:disable Style/RescueModifier
31
31
  if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
32
32
  ENV['BUNDLE_GEMFILE'] = gemfile
33
- require 'bundler/setup'
33
+ require 'bundler'
34
+
35
+ begin
36
+ Bundler.setup
37
+ rescue Bundler::BundlerError => ex
38
+ puts "Problem loading '#{gemfile}': #{ex.message}"
39
+ puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
40
+ exit 78 # EX_CONFIG
41
+ end
34
42
  end
35
43
  # rubocop:enable Style/RescueModifier
36
44
 
@@ -30,7 +30,15 @@ require 'yaml'
30
30
  # rubocop:disable Style/RescueModifier
31
31
  if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
32
32
  ENV['BUNDLE_GEMFILE'] = gemfile
33
- require 'bundler/setup'
33
+ require 'bundler'
34
+
35
+ begin
36
+ Bundler.setup
37
+ rescue Bundler::BundlerError => ex
38
+ puts "Problem loading '#{gemfile}': #{ex.message}"
39
+ puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
40
+ exit 78 # EX_CONFIG
41
+ end
34
42
  end
35
43
  # rubocop:enable Style/RescueModifier
36
44
 
@@ -30,7 +30,15 @@ require 'yaml'
30
30
  # rubocop:disable Style/RescueModifier
31
31
  if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
32
32
  ENV['BUNDLE_GEMFILE'] = gemfile
33
- require 'bundler/setup'
33
+ require 'bundler'
34
+
35
+ begin
36
+ Bundler.setup
37
+ rescue Bundler::BundlerError => ex
38
+ puts "Problem loading '#{gemfile}': #{ex.message}"
39
+ puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
40
+ exit 78 # EX_CONFIG
41
+ end
34
42
  end
35
43
  # rubocop:enable Style/RescueModifier
36
44
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: overcommit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.0
4
+ version: 0.31.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brigade Engineering
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-12-24 00:00:00.000000000 Z
12
+ date: 2016-01-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: childprocess
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 0.5.6
20
+ version: 0.5.8
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 0.5.6
27
+ version: 0.5.8
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: iniparse
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -39,6 +39,20 @@ dependencies:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
41
  version: '1.4'
42
+ - !ruby/object:Gem::Dependency
43
+ name: rake
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '10.4'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '10.4'
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: rspec
44
58
  requirement: !ruby/object:Gem::Requirement
@@ -155,6 +169,7 @@ files:
155
169
  - lib/overcommit/hook/pre_commit/jsl.rb
156
170
  - lib/overcommit/hook/pre_commit/json_syntax.rb
157
171
  - lib/overcommit/hook/pre_commit/local_paths_in_gemfile.rb
172
+ - lib/overcommit/hook/pre_commit/mdl.rb
158
173
  - lib/overcommit/hook/pre_commit/merge_conflicts.rb
159
174
  - lib/overcommit/hook/pre_commit/nginx_test.rb
160
175
  - lib/overcommit/hook/pre_commit/pep257.rb