pre-commit 0.38.1 → 0.40.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
  SHA256:
3
- metadata.gz: 0a9bfb25f2d369ac0724a9836d0c90a763ffb5c4d066d651852dad9afe5d6dd3
4
- data.tar.gz: 2a9545037374a38f0e91801620a857ca62f1052cd9c36eb0f944ab149ea4a8fd
3
+ metadata.gz: 057fecc5591c702f78c42ff0ad001335e3d8a7593513ee24d29d231e0b3f7b3a
4
+ data.tar.gz: 042f941db67cec6b8370b9216240164d829cc142ac552b2d11e8b9e0ac493366
5
5
  SHA512:
6
- metadata.gz: f5da744009fb8a0784c81060b8c2a0368e509fcc6a600baeb474b707683edeed285d1aa3294e0673ca4eb92c1abd788aed6d7d4ec0c6ce03b2e8a0136a45a283
7
- data.tar.gz: e5316ef693fad9b4583233027bad25999112cb3eb7c089cdab77e67c8aebabf32dc124d3651d1c5b8e42ae44ae94de4f1060b4f42d8ea3ab57dc71fd7b3980f4
6
+ metadata.gz: a7620f9696d92c8ab0a98eebec9f291f2e29b5ba4f2c545757846a121a9bf0e4a1f91e3b3ae4e518fa1fe805434a27095d859ffb57c0a655bfebfd885363f80f
7
+ data.tar.gz: 78c24f5da8d9c4f885e8dc04a8355b90ef5698c6aad016c99c7f878ea69b5585a44b052907f02ecfa98fbf71d9c7675b04b04527a8bcf667d85f41da44951f84
@@ -3,13 +3,9 @@ require 'pre-commit/checks/plugin'
3
3
  module PreCommit
4
4
  module Checks
5
5
  class Migration < Plugin
6
- VERSION_PATTERN = /(\d{14})/
6
+ VERSION_PATTERN = /(\d{4}_?\d{2}_?\d{2}_?\d{6})/
7
7
 
8
- self::VersionedFile = Struct.new(:file, :version) do
9
- def to_s
10
- "<#{self.class.name} file=\"#{file}\" version=\"#{version}\">"
11
- end
12
- end
8
+ VersionedFile = Struct.new(:file, :version)
13
9
 
14
10
  def self.aliases
15
11
  [:migrations]
@@ -25,10 +21,12 @@ module PreCommit
25
21
  "You're trying to change the schema without adding a migration file"
26
22
  elsif migration_files.any? && schema_files.any?
27
23
  migration_versions = migration_files.map(&:version)
28
- missing_versions = migration_versions - schema_files.map(&:version)
24
+ schema_versions = schema_files.map(&:version)
25
+ missing_versions = migration_versions - schema_versions
26
+
29
27
  if missing_versions.any?
30
28
  "You did not add the schema versions for "\
31
- "#{migration_versions.join(', ')} to #{schema_files.map(&:file).join(' or ')}"
29
+ "#{missing_versions.join(', ')} to #{schema_files.map(&:file).join(' or ')}"
32
30
  end
33
31
  end
34
32
  end
@@ -52,7 +50,8 @@ module PreCommit
52
50
 
53
51
  files.each_with_object([]) do |f, result|
54
52
  File.read(f).scan(VERSION_PATTERN) do |i|
55
- result << VersionedFile.new(f, i.first)
53
+ version = i.first.gsub(/_/, "")
54
+ result << VersionedFile.new(f, version)
56
55
  end
57
56
  end
58
57
  end
@@ -6,7 +6,7 @@ module PreCommit
6
6
  def call(staged_files)
7
7
  require 'execjs'
8
8
  rescue RuntimeError, LoadError => e
9
- $stderr.puts "Could not load execjs: #{e}"
9
+ $stderr.puts "Could not load execjs: #{e}. You need to manually install execjs to use JavaScript plugins for security reasons."
10
10
  else
11
11
  staged_files = files_filter(staged_files)
12
12
  return if staged_files.empty?
@@ -46,7 +46,7 @@ module PreCommit
46
46
  @providers.update( plugin_name, "#{type}_remove", :+, checks )
47
47
  true
48
48
  rescue PreCommit::PluginNotFound => e
49
- warn e
49
+ warn e.message
50
50
  false
51
51
  end
52
52
 
@@ -83,7 +83,7 @@ module PreCommit
83
83
  repo_ignored?(file) ||
84
84
  ignore_extension?(file) ||
85
85
  File.directory?(file) ||
86
- !File.exists?(file)
86
+ !File.exist?(file)
87
87
  end
88
88
 
89
89
  # If it's a source file, definitely check it.
@@ -11,13 +11,13 @@ describe PreCommit::Checks::<%= name.capitalize %> do
11
11
  let(:check){ PreCommit::Checks::<%= name.capitalize %>.new(nil, nil, []) }
12
12
 
13
13
  it "does nothing" do
14
- check.send(:run_check, "rake").must_equal(nil)
14
+ check.send(:run_check, "rake").must_be_nil
15
15
  end
16
16
 
17
17
  it "checks files" do
18
18
  Dir.chdir(test_files) do
19
19
  # TODO: create example files in test/files
20
- check.send(:run_check, ".keep").must_equal(nil)
20
+ check.send(:run_check, ".keep").must_be_nil
21
21
  end
22
22
  end
23
23
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pre-commit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.38.1
4
+ version: 0.40.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shajith Chacko, Josh Lubaway
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-06 00:00:00.000000000 Z
11
+ date: 2023-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pluginator
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '4.0'
47
+ version: '5.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '4.0'
54
+ version: '5.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: minitest-reporters
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '1.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '1.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -180,7 +180,7 @@ homepage: http://github.com/jish/pre-commit
180
180
  licenses:
181
181
  - Apache-2.0
182
182
  metadata: {}
183
- post_install_message:
183
+ post_install_message:
184
184
  rdoc_options:
185
185
  - "--main"
186
186
  - README.md
@@ -197,9 +197,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
197
197
  - !ruby/object:Gem::Version
198
198
  version: '0'
199
199
  requirements: []
200
- rubyforge_project:
201
- rubygems_version: 2.7.3
202
- signing_key:
200
+ rubygems_version: 3.4.1
201
+ signing_key:
203
202
  specification_version: 3
204
203
  summary: A slightly better git pre-commit hook
205
204
  test_files: []