git-lint 8.3.0 → 8.5.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
  SHA256:
3
- metadata.gz: 77493699e7119986f737326eefb49e64de1c4141149829f77326f8ce350f74c4
4
- data.tar.gz: 02630b975bb5a925f9e4bf9140a051dc71f81f8a03ed8fc48117a99214a0b0e2
3
+ metadata.gz: 967725216ba8caae85fe6c806c0e14ea0a02141ddee010e227865f385407b9ae
4
+ data.tar.gz: c18dacf641c7f7f17eb1f1b69390844a427ed53b6ef2d4753a2604acc888ce33
5
5
  SHA512:
6
- metadata.gz: 570e9a80ff7ad75ccc26a4cee3829c2bc3ad88af978213cc97edd5f36917918bb480ee6c97ef7cad014f62d8cffa2c74bbd3113e10b23aa57bd775cbbc07b6f4
7
- data.tar.gz: 75d9c33b5a1a6a2f54b5ee9883bbc78f49134ad925c08a7ea2f7aa5d2229b79b068557dc3943c822476a4f0ab993983a54ecf085d78dd2b58615655094f90656
6
+ metadata.gz: 2cfda994a6f70faa6669f92613709d602a92df4433081d293bf7048849b5ccd11358ebb8ac26d3f02b6c5512f91be23b409220832f1f46ccbe4ae1efe664a8a4
7
+ data.tar.gz: 2469b6dbc0a778ea03b04c0af555d3b78b892b87b95a7b7909447571f9054a1997eaa928a497f5feab65210c5a7d75beb87a978d5d688259b12338bc5f0e39a6
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -2,7 +2,9 @@
2
2
  :toclevels: 5
3
3
  :figure-caption!:
4
4
 
5
+ :ascii_doc_link: link:https://docs.asciidoctor.org/asciidoc/latest[ASCII Doc]
5
6
  :git_rebase_workflow_link: link:https://alchemists.io/articles/git_rebase[Git Rebase Workflow]
7
+ :markdown_link: link:https://daringfireball.net/projects/markdown[Markdown]
6
8
 
7
9
  = Git Lint
8
10
 
@@ -412,7 +414,7 @@ Ensures commit body bullet lines are capitalized. Example:
412
414
  - [demo](https://demo.com)
413
415
  ....
414
416
 
415
- In general, using ASCII Doc or Markdown syntax directly after a bullet will cause capitalization checks to be ignored because there can be valid reasons for wanting to avoid capitalization in those situations.
417
+ In general, using {ascii_doc_link} or {markdown_link} syntax directly after a bullet will cause capitalization checks to be ignored because there can be valid reasons for wanting to avoid capitalization in those situations.
416
418
 
417
419
  ==== Commit Body Bullet Delimiter
418
420
 
@@ -513,6 +515,13 @@ curabitur eleifend wisi iaculis ipsum.
513
515
  Curabitur eleifend wisi iaculis ipsum.
514
516
  ....
515
517
 
518
+ {ascii_doc_link} and {markdown_link} code blocks are ignored since a paragraph that only consists of a code block is common practice. For ASCII Doc, this includes the following to be separate paragraphs if desired:
519
+
520
+ * link:https://docs.asciidoctor.org/asciidoc/latest/macros/audio-and-video[Audio and video links]
521
+ * link:https://docs.asciidoctor.org/asciidoc/latest/macros/images[Image links]
522
+ * link:https://docs.asciidoctor.org/asciidoc/latest/macros/links[Links]
523
+ * link:https://docs.asciidoctor.org/asciidoc/latest/macros/xref[Cross references]
524
+
516
525
  ==== Commit Body Phrase
517
526
 
518
527
  [options="header"]
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 = "8.3.0"
5
+ spec.version = "8.5.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/git-lint"
@@ -29,14 +29,14 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency "dry-monads", "~> 1.6"
30
30
  spec.add_dependency "dry-schema", "~> 1.13"
31
31
  spec.add_dependency "etcher", "~> 2.1"
32
- spec.add_dependency "gitt", "~> 3.8"
33
- spec.add_dependency "infusible", "~> 3.8"
34
- spec.add_dependency "refinements", "~> 12.8"
32
+ spec.add_dependency "gitt", "~> 3.9"
33
+ spec.add_dependency "infusible", "~> 3.11"
34
+ spec.add_dependency "refinements", "~> 12.9"
35
35
  spec.add_dependency "runcom", "~> 11.5"
36
- spec.add_dependency "sod", "~> 0.14"
36
+ spec.add_dependency "sod", "~> 0.17"
37
37
  spec.add_dependency "spek", "~> 3.0"
38
38
  spec.add_dependency "tone", "~> 1.0"
39
- spec.add_dependency "zeitwerk", "~> 2.6"
39
+ spec.add_dependency "zeitwerk", "~> 2.7"
40
40
 
41
41
  spec.bindir = "exe"
42
42
  spec.executables << "git-lint"
@@ -5,11 +5,30 @@ module Git
5
5
  module Analyzers
6
6
  # Analyzes proper capitalization of commit body paragraphs.
7
7
  class CommitBodyParagraphCapitalization < Abstract
8
- def self.invalid?(line) = line.match?(/\A[[:lower:]].+\Z/m)
9
-
10
- def initialize(...)
11
- super
12
- @invalids = commit.body_paragraphs.select { |line| self.class.invalid? line }
8
+ PATTERN = /
9
+ \A # Search start.
10
+ (?! # Negative lookahead start.
11
+ (?: # Non-capture group start.
12
+ audio # Ignore audio.
13
+ | # Or.
14
+ image # Ignore image.
15
+ | # Or.
16
+ video # Ignore video.
17
+ ) # Non-capture group end.
18
+ :: # Suffix.
19
+ | # Or.
20
+ link: # Ignore link.
21
+ | # Or.
22
+ xref: # Ignore xref.
23
+ ) # Negative lookahead end.
24
+ [[:lower:]] # Match lowercase letters.
25
+ .+ # Match one or more characters.
26
+ \Z # Search end.
27
+ /mx
28
+
29
+ def initialize(commit, pattern: PATTERN, **)
30
+ super(commit, **)
31
+ @pattern = pattern
13
32
  end
14
33
 
15
34
  def valid? = invalids.empty?
@@ -25,13 +44,17 @@ module Git
25
44
 
26
45
  private
27
46
 
28
- attr_reader :invalids
47
+ attr_reader :pattern
29
48
 
30
49
  def affected_lines
31
50
  invalids.each.with_object [] do |line, lines|
32
51
  lines << self.class.build_issue_line(commit.body_lines.index(line[/.+/]), line)
33
52
  end
34
53
  end
54
+
55
+ def invalids
56
+ @invalids ||= commit.body_paragraphs.grep pattern
57
+ end
35
58
  end
36
59
  end
37
60
  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: 8.3.0
4
+ version: 8.5.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: 2024-09-01 00:00:00.000000000 Z
38
+ date: 2024-10-18 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: cogger
@@ -127,42 +127,42 @@ dependencies:
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: '3.8'
130
+ version: '3.9'
131
131
  type: :runtime
132
132
  prerelease: false
133
133
  version_requirements: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '3.8'
137
+ version: '3.9'
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: infusible
140
140
  requirement: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: '3.8'
144
+ version: '3.11'
145
145
  type: :runtime
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '3.8'
151
+ version: '3.11'
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: refinements
154
154
  requirement: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: '12.8'
158
+ version: '12.9'
159
159
  type: :runtime
160
160
  prerelease: false
161
161
  version_requirements: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: '12.8'
165
+ version: '12.9'
166
166
  - !ruby/object:Gem::Dependency
167
167
  name: runcom
168
168
  requirement: !ruby/object:Gem::Requirement
@@ -183,14 +183,14 @@ dependencies:
183
183
  requirements:
184
184
  - - "~>"
185
185
  - !ruby/object:Gem::Version
186
- version: '0.14'
186
+ version: '0.17'
187
187
  type: :runtime
188
188
  prerelease: false
189
189
  version_requirements: !ruby/object:Gem::Requirement
190
190
  requirements:
191
191
  - - "~>"
192
192
  - !ruby/object:Gem::Version
193
- version: '0.14'
193
+ version: '0.17'
194
194
  - !ruby/object:Gem::Dependency
195
195
  name: spek
196
196
  requirement: !ruby/object:Gem::Requirement
@@ -225,14 +225,14 @@ dependencies:
225
225
  requirements:
226
226
  - - "~>"
227
227
  - !ruby/object:Gem::Version
228
- version: '2.6'
228
+ version: '2.7'
229
229
  type: :runtime
230
230
  prerelease: false
231
231
  version_requirements: !ruby/object:Gem::Requirement
232
232
  requirements:
233
233
  - - "~>"
234
234
  - !ruby/object:Gem::Version
235
- version: '2.6'
235
+ version: '2.7'
236
236
  description:
237
237
  email:
238
238
  - brooke@alchemists.io
@@ -348,7 +348,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
348
348
  - !ruby/object:Gem::Version
349
349
  version: '0'
350
350
  requirements: []
351
- rubygems_version: 3.5.18
351
+ rubygems_version: 3.5.21
352
352
  signing_key:
353
353
  specification_version: 4
354
354
  summary: A command line interface for linting Git commits.
metadata.gz.sig CHANGED
Binary file