overcommit 0.30.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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