git-lint 6.0.1 → 6.1.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: 29fd891a38b45dcabf57f311eb06b5a8310565aca8b69d1343a6308c50d850e5
4
- data.tar.gz: 46adc4aeba062d7338392b64a15d6f71388b355500ba99588f0348ab9679bbb5
3
+ metadata.gz: 9ee9b68aad71cadebe20d065bdc8c401af8baf68c7301139e5591c3a7b16a9dd
4
+ data.tar.gz: ed30ae7075751857ed24ee30a33c03eca9a7b3c888192c3d3e3e6f4a28945578
5
5
  SHA512:
6
- metadata.gz: bea124bb8e8ee8cd2cf4db7608749ac871c0f538c60dd2a1e120074fe74fdb591ea6e92bf30029ad29798116aacef054a042421ad462060ef387fae5a3f9f03d
7
- data.tar.gz: 18f6bbcf1a2f72a9dd54ee873dc8e9e526568965f226a79d724715bad8e731284d2fb34cf09e86877cadd1506c625a9188ed3bc08255fa653d5724794b27a3d1
6
+ metadata.gz: f3052a2885753d3aa75addd51436aec22ce3d8cac9ba34df5622ad898dcf59d2299c955209eec43be56885d0cc0139567cb60988d4d6c2da6a2d81b465571f60
7
+ data.tar.gz: 5425dcaad6af943c71ba1c39da7ac00618b7455d7e7e1c7aba579927003f200fed3ae60fda2ce6053cedd3d84b6be2097c5eaf58af90a91ef7395c00223415b1
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -52,21 +52,7 @@ gem install git-lint
52
52
 
53
53
  From the command line, type: `git-lint --help`
54
54
 
55
- ....
56
- USAGE
57
- git-lint [OPTIONS]
58
- git-lint COMMAND [OPTIONS]
59
-
60
- OPTIONS
61
- --hook PATH Hook for analyzing unsaved commits.
62
- -v, --version Show version.
63
- -h, --help [COMMAND] Show this message.
64
-
65
- COMMANDS
66
- config Manage configuration.
67
- Path is dynamic per current directory.
68
- analyze Analyze branch or commit(s).
69
- ....
55
+ image:https://alchemists.io/images/projects/git-lint/screenshots/usage.png[Usage,width=588,height=353,role=focal_point]
70
56
 
71
57
  To check if your Git commit history is clean, run: `git-lint analyze --branch`. It will exit with a failure if at least one issue with error severity is detected.
72
58
 
data/exe/git-lint CHANGED
@@ -3,4 +3,4 @@
3
3
 
4
4
  require "git/lint"
5
5
 
6
- Git::Lint::CLI::Shell.new.call ARGV
6
+ Git::Lint::CLI::Shell.new.call
data/git-lint.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "git-lint"
5
- spec.version = "6.0.1"
5
+ spec.version = "6.1.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/git-lint"
@@ -14,35 +14,16 @@ module Git
14
14
  module Container
15
15
  extend Dry::Container::Mixin
16
16
 
17
- register :configuration do
18
- self[:defaults].add_loader(Etcher::Loaders::YAML.new(self[:xdg_config].active))
19
- .then { |registry| Etcher.call registry }
20
- end
21
-
22
- register :defaults do
23
- Etcher::Registry.new(contract: Configuration::Contract, model: Configuration::Model)
24
- .add_loader(Etcher::Loaders::YAML.new(self[:defaults_path]))
25
- end
26
-
27
- register(:color) { Tone.new }
28
- register(:environment) { ENV }
29
- register(:git) { Gitt::Repository.new }
30
- register(:defaults_path) { Pathname(__dir__).join("configuration/defaults.yml") }
31
- register(:xdg_config) { Runcom::Config.new "git-lint/configuration.yml" }
32
- register(:specification) { Spek::Loader.call "#{__dir__}/../../../git-lint.gemspec" }
33
- register(:kernel) { Kernel }
34
- register(:logger) { Cogger.new formatter: :emoji }
35
-
36
17
  namespace :trailers do
37
- register(:collaborator) { /\ACo.*Authored.*By.*\Z/i }
38
- register(:format) { /\AFormat.*\Z/i }
39
- register(:issue) { /\AIssue.*\Z/i }
40
- register(:signer) { /\ASigned.*By.*\Z/i }
41
- register(:tracker) { /\ATracker.*\Z/i }
18
+ register(:collaborator, memoize: true) { /\ACo.*Authored.*By.*\Z/i }
19
+ register(:format, memoize: true) { /\AFormat.*\Z/i }
20
+ register(:issue, memoize: true) { /\AIssue.*\Z/i }
21
+ register(:signer, memoize: true) { /\ASigned.*By.*\Z/i }
22
+ register(:tracker, memoize: true) { /\ATracker.*\Z/i }
42
23
  end
43
24
 
44
25
  namespace :parsers do
45
- register(:person) { Gitt::Parsers::Person.new }
26
+ register(:person, memoize: true) { Gitt::Parsers::Person.new }
46
27
  end
47
28
 
48
29
  namespace :sanitizers do
@@ -51,10 +32,35 @@ module Git
51
32
  end
52
33
 
53
34
  namespace :validators do
54
- register(:capitalization) { Validators::Capitalization.new }
55
- register(:email) { Validators::Email.new }
56
- register(:name) { Validators::Name.new }
35
+ register(:capitalization, memoize: true) { Validators::Capitalization.new }
36
+ register(:email, memoize: true) { Validators::Email.new }
37
+ register(:name, memoize: true) { Validators::Name.new }
38
+ end
39
+
40
+ register :configuration, memoize: true do
41
+ self[:defaults].add_loader(Etcher::Loaders::YAML.new(self[:xdg_config].active))
42
+ .then { |registry| Etcher.call registry }
43
+ end
44
+
45
+ register :defaults, memoize: true do
46
+ Etcher::Registry.new(contract: Configuration::Contract, model: Configuration::Model)
47
+ .add_loader(Etcher::Loaders::YAML.new(self[:defaults_path]))
57
48
  end
49
+
50
+ register :defaults_path, memoize: true do
51
+ Pathname(__dir__).join("configuration/defaults.yml")
52
+ end
53
+
54
+ register :specification, memoize: true do
55
+ Spek::Loader.call "#{__dir__}/../../../git-lint.gemspec"
56
+ end
57
+
58
+ register(:color, memoize: true) { Tone.new }
59
+ register(:environment) { ENV }
60
+ register(:git, memoize: true) { Gitt::Repository.new }
61
+ register(:xdg_config, memoize: true) { Runcom::Config.new "git-lint/configuration.yml" }
62
+ register(:logger, memoize: true) { Cogger.new formatter: :emoji }
63
+ register :kernel, Kernel
58
64
  end
59
65
  end
60
66
  end
data/lib/git/lint.rb CHANGED
@@ -8,13 +8,15 @@ Zeitwerk::Loader.new.then do |loader|
8
8
  "circle_ci" => "CircleCI",
9
9
  "netlify_ci" => "NetlifyCI",
10
10
  "travis_ci" => "TravisCI"
11
- loader.push_dir "#{__dir__}/.."
11
+ loader.tag = "git-lint"
12
12
  loader.ignore "#{__dir__}/lint/rake"
13
+ loader.push_dir "#{__dir__}/.."
13
14
  loader.setup
14
15
  end
15
16
 
16
17
  module Git
17
18
  # Main namespace.
18
19
  module Lint
20
+ def self.loader(registry = Zeitwerk::Registry) = registry.loader_for __FILE__
19
21
  end
20
22
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-lint
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.1
4
+ version: 6.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2023-06-19 00:00:00.000000000 Z
38
+ date: 2023-10-01 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: cogger
@@ -339,7 +339,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
339
339
  - !ruby/object:Gem::Version
340
340
  version: '0'
341
341
  requirements: []
342
- rubygems_version: 3.4.14
342
+ rubygems_version: 3.4.20
343
343
  signing_key:
344
344
  specification_version: 4
345
345
  summary: A command line interface for linting Git commits.
metadata.gz.sig CHANGED
Binary file