git-lint 3.0.1 → 3.3.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: 7886097132bf6a5627c526ea9bfcdda2a0df4d539e3f2acda8ba812a058398cb
4
- data.tar.gz: 0adf2e810efbc502f22f91a4914637fd6de9baa72fb7aeda7b17d00c321e31e1
3
+ metadata.gz: f4e5be788d1ded6afd35086ea4c456b05973aaa08954bc1471d62695f963c92a
4
+ data.tar.gz: 8150c23cb35f43b03211140dd6114330b19904337d40a415f251e80a47fba869
5
5
  SHA512:
6
- metadata.gz: cb14bca2ba5e986a95c3c67047fd3d48edfc89399444ef38a4b584954e9e563e25058632f2eaddee6262d5cbdb9304404c1c0a05b8882f0d6c98ee6b5e8b1378
7
- data.tar.gz: 34717c32571e3da9d4361413a4f16eb945b2d369f57dfbe36f2f875f6615471a8ca07ae42a7a5caf54507bdd2df568b4b258be08539e994145d3e94ce655b68e
6
+ metadata.gz: c8a6f905cd7964560774158151e5f52a8f2ff1c4e13b96c37a591a35400806fefbb9e7af66d2d38fc2e65893b2487366a4a8179f5c825a2783ee84cb4e4f7896
7
+ data.tar.gz: 4cf68339ffb053f3b2beadf5cabea21288eacae051ac350044ac37fb8250fe9798a49800bc765ceb5702030334e86bdf1c557230751eee88e9d296f23f7a2975
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -6,15 +6,6 @@
6
6
 
7
7
  = Git Lint
8
8
 
9
- [link=http://badge.fury.io/rb/git-lint]
10
- image::https://badge.fury.io/rb/git-lint.svg[Gem Version]
11
- [link=https://www.alchemists.io/projects/code_quality]
12
- image::https://img.shields.io/badge/code_style-alchemists-brightgreen.svg[Alchemists Style Guide]
13
- [link=https://circleci.com/gh/bkuhlmann/git-lint]
14
- image::https://circleci.com/gh/bkuhlmann/git-lint.svg?style=svg[Circle CI Status]
15
- [link=https://app.netlify.com/sites/git-lint/deploys]
16
- image::https://api.netlify.com/api/v1/badges/7e23b422-3412-4e7f-b654-65c0417a0b1f/deploy-status[Netlify CI Status]
17
-
18
9
  Git Lint is a command line interface for linting Git commits by ensuring you maintain a clean, easy
19
10
  to read, debuggable, and maintainable project history. Having a consistent commit history leads to
20
11
  improved code reviews and is a perfect companion to tools like
data/exe/git-lint CHANGED
@@ -3,5 +3,4 @@
3
3
 
4
4
  require "git/lint"
5
5
 
6
- Process.setproctitle Git::Lint::Identity::VERSION_LABEL
7
6
  Git::Lint::CLI::Shell.new.call ARGV
data/git-lint.gemspec ADDED
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = "git-lint"
5
+ spec.version = "3.3.0"
6
+ spec.authors = ["Brooke Kuhlmann"]
7
+ spec.email = ["brooke@alchemists.io"]
8
+ spec.homepage = "https://www.alchemists.io/projects/git-lint"
9
+ spec.summary = "A command line interface for linting Git commits."
10
+ spec.license = "Hippocratic-3.0"
11
+
12
+ spec.metadata = {
13
+ "bug_tracker_uri" => "https://github.com/bkuhlmann/git-lint/issues",
14
+ "changelog_uri" => "https://www.alchemists.io/projects/git-lint/versions",
15
+ "documentation_uri" => "https://www.alchemists.io/projects/git-lint",
16
+ "label" => "Git Lint",
17
+ "rubygems_mfa_required" => "true",
18
+ "source_code_uri" => "https://github.com/bkuhlmann/git-lint"
19
+ }
20
+
21
+ spec.signing_key = Gem.default_key_path
22
+ spec.cert_chain = [Gem.default_cert_path]
23
+
24
+ spec.required_ruby_version = "~> 3.1"
25
+ spec.add_dependency "dry-container", "~> 0.9.0"
26
+ spec.add_dependency "git_plus", "~> 1.1"
27
+ spec.add_dependency "pastel", "~> 0.8"
28
+ spec.add_dependency "refinements", "~> 9.2"
29
+ spec.add_dependency "runcom", "~> 8.2"
30
+ spec.add_dependency "spek", "~> 0.0"
31
+ spec.add_dependency "zeitwerk", "~> 2.5"
32
+
33
+ spec.bindir = "exe"
34
+ spec.executables << "git-lint"
35
+ spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
36
+ spec.files = Dir["*.gemspec", "lib/**/*"]
37
+ end
@@ -12,13 +12,16 @@ module Git
12
12
 
13
13
  def self.call(...) = new(...).call
14
14
 
15
- def initialize configuration = Container[:configuration], client: Parser::CLIENT
15
+ def initialize configuration = Container[:configuration],
16
+ client: Parser::CLIENT,
17
+ container: Container
16
18
  @configuration = configuration
17
19
  @client = client
20
+ @container = container
18
21
  end
19
22
 
20
23
  def call arguments = []
21
- client.banner = "#{Identity::LABEL} - #{Identity::SUMMARY}"
24
+ client.banner = specification.labeled_summary
22
25
  client.separator "\nUSAGE:\n"
23
26
  collate
24
27
  client.parse arguments
@@ -27,7 +30,7 @@ module Git
27
30
 
28
31
  private
29
32
 
30
- attr_reader :configuration, :client
33
+ attr_reader :configuration, :client, :container
31
34
 
32
35
  def collate = private_methods.sort.grep(/add_/).each { |method| __send__ method }
33
36
 
@@ -65,6 +68,8 @@ module Git
65
68
  configuration.merge! action_help: true
66
69
  end
67
70
  end
71
+
72
+ def specification = container[__method__]
68
73
  end
69
74
  end
70
75
  end
@@ -34,7 +34,7 @@ module Git
34
34
  in action_analyze: true, analyze_sha: String => sha then analyze_commit sha
35
35
  in action_config: Symbol => action then config action
36
36
  in action_hook: Pathname => path then hook path
37
- in action_version: true then logger.info Identity::VERSION_LABEL
37
+ in action_version: true then logger.info { specification.labeled_version }
38
38
  else usage
39
39
  end
40
40
  end
@@ -49,6 +49,8 @@ module Git
49
49
 
50
50
  def usage = logger.unknown { parser.to_s }
51
51
 
52
+ def specification = container[__method__]
53
+
52
54
  def logger = container[__method__]
53
55
  end
54
56
  end
@@ -15,7 +15,7 @@ module Git
15
15
  using ::Refinements::Structs
16
16
 
17
17
  DEFAULTS = YAML.load_file(Pathname(__dir__).join("defaults.yml")).freeze
18
- CLIENT = Runcom::Config.new "#{Identity::NAME}/configuration.yml", defaults: DEFAULTS
18
+ CLIENT = Runcom::Config.new "git-lint/configuration.yml", defaults: DEFAULTS
19
19
 
20
20
  def self.call = new.call
21
21
 
@@ -4,6 +4,7 @@ require "dry-container"
4
4
  require "git_plus"
5
5
  require "logger"
6
6
  require "pastel"
7
+ require "spek"
7
8
 
8
9
  module Git
9
10
  module Lint
@@ -13,6 +14,7 @@ module Git
13
14
 
14
15
  register(:configuration) { Configuration::Loader.call }
15
16
  register(:repository) { GitPlus::Repository.new }
17
+ register(:specification) { Spek::Loader.call "#{__dir__}/../../../git-lint.gemspec" }
16
18
  register(:colorizer) { Pastel.new enabled: $stdout.tty? }
17
19
  register(:kernel) { Kernel }
18
20
 
@@ -5,7 +5,7 @@ module Git
5
5
  module Errors
6
6
  # The root class of gem related errors.
7
7
  class Base < StandardError
8
- def initialize message = "Invalid #{Identity::LABEL} action."
8
+ def initialize message = "Invalid Git Lint action."
9
9
  super message
10
10
  end
11
11
  end
@@ -15,7 +15,7 @@ module Git
15
15
  end
16
16
 
17
17
  def to_s
18
- "Running #{Identity::LABEL}...#{branch_report}\n" \
18
+ "Running Git Lint...#{branch_report}\n" \
19
19
  "#{commit_total}. #{issue_totals}.\n"
20
20
  end
21
21
 
data/lib/git/lint.rb CHANGED
@@ -10,7 +10,7 @@ Zeitwerk::Loader.new.then do |loader|
10
10
  "netlify_ci" => "NetlifyCI",
11
11
  "travis_ci" => "TravisCI"
12
12
  loader.push_dir "#{__dir__}/.."
13
- loader.ignore "#{__dir__}/lint/rake/setup.rb"
13
+ loader.ignore "#{__dir__}/lint/rake"
14
14
  loader.setup
15
15
  end
16
16
 
data.tar.gz.sig CHANGED
@@ -1,3 +1,4 @@
1
- 2*�D���U%u$�N���ӊp�/5��=�2��RR&T��P��w�H j��H*"��>,�<���<vM��tP*W ��]y
2
- ���9I*��qb������\#��,2ɩ�?���6t3���4r��B�{lH���� �� �F�8����
3
- ����m#v
1
+ ,+�7 D
2
+ �΂gul
3
+ $g�,�lf�Ye��v�����^�&���#+?��8�ܮ�����Š\1E�����/���wߖz��ĭ���J���d#@k�b�"�ɱ�)7I��m��s��k=�:q
4
+ e�r������樣���]�Cg�;�Ͼx����P}���:�2� �I �{w�4�����*�2R��B�
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: 3.0.1
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -28,7 +28,7 @@ cert_chain:
28
28
  lkHilIrX69jq8wMPpBhlaw2mRmeSL50Wv5u6xVBvOHhXFSP1crXM95vfLhLyRYod
29
29
  W2A=
30
30
  -----END CERTIFICATE-----
31
- date: 2022-01-01 00:00:00.000000000 Z
31
+ date: 2022-02-12 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: dry-container
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '1.0'
53
+ version: '1.1'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '1.0'
60
+ version: '1.1'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: pastel
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -78,28 +78,42 @@ dependencies:
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '9.0'
81
+ version: '9.2'
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '9.0'
88
+ version: '9.2'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: runcom
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '8.0'
95
+ version: '8.2'
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '8.0'
102
+ version: '8.2'
103
+ - !ruby/object:Gem::Dependency
104
+ name: spek
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '0.0'
110
+ type: :runtime
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '0.0'
103
117
  - !ruby/object:Gem::Dependency
104
118
  name: zeitwerk
105
119
  requirement: !ruby/object:Gem::Requirement
@@ -127,6 +141,7 @@ files:
127
141
  - LICENSE.adoc
128
142
  - README.adoc
129
143
  - exe/git-lint
144
+ - git-lint.gemspec
130
145
  - lib/git/lint.rb
131
146
  - lib/git/lint/analyzer.rb
132
147
  - lib/git/lint/analyzers/abstract.rb
@@ -174,7 +189,6 @@ files:
174
189
  - lib/git/lint/errors/base.rb
175
190
  - lib/git/lint/errors/severity.rb
176
191
  - lib/git/lint/errors/sha.rb
177
- - lib/git/lint/identity.rb
178
192
  - lib/git/lint/kit/filter_list.rb
179
193
  - lib/git/lint/parsers/trailers/collaborator.rb
180
194
  - lib/git/lint/rake/setup.rb
@@ -195,6 +209,7 @@ metadata:
195
209
  bug_tracker_uri: https://github.com/bkuhlmann/git-lint/issues
196
210
  changelog_uri: https://www.alchemists.io/projects/git-lint/versions
197
211
  documentation_uri: https://www.alchemists.io/projects/git-lint
212
+ label: Git Lint
198
213
  rubygems_mfa_required: 'true'
199
214
  source_code_uri: https://github.com/bkuhlmann/git-lint
200
215
  post_install_message:
@@ -212,7 +227,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
212
227
  - !ruby/object:Gem::Version
213
228
  version: '0'
214
229
  requirements: []
215
- rubygems_version: 3.3.4
230
+ rubygems_version: 3.3.7
216
231
  signing_key:
217
232
  specification_version: 4
218
233
  summary: A command line interface for linting Git commits.
metadata.gz.sig CHANGED
Binary file
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Git
4
- module Lint
5
- # Gem identity information.
6
- module Identity
7
- NAME = "git-lint"
8
- LABEL = "Git Lint"
9
- VERSION = "3.0.1"
10
- VERSION_LABEL = "#{LABEL} #{VERSION}".freeze
11
- SUMMARY = "A command line interface for linting Git commits."
12
- end
13
- end
14
- end