milestoner 18.6.0 → 18.8.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: acc8c51f0fa0cacdf7e8bc0e871a697520ce09c2b7af09c1dba01c1632b06671
4
- data.tar.gz: 164ef1e821b63b7b382cbcb4dda7a9450c7d0493dfb92436b2161fcc983599f3
3
+ metadata.gz: 11f4a4fabcb973b15544876b5874c38547b88c2d090014ada6f1fa91501722e5
4
+ data.tar.gz: 04e2b342302e51906d31195fc29acc2952c0e917ee0b48d56941be2969c8484f
5
5
  SHA512:
6
- metadata.gz: a999795a124cc155086e5826bd64880f9838d415e941b455cab6141bd66a05713e47009afbc11749809ff7692aced45bb13878f4a6fc0620ec520536f5741d0d
7
- data.tar.gz: f2e01fb0744c54b2d1b6c87f7bd7932c71bde127a5509a101e05b37c87cc340371af596fd3bcf5edf72dfbcd25a99505a54925e323ed88a489af4672c7ebe3e2
6
+ metadata.gz: 1a5bbf229bc95b2f29d044bb769a6dc1e3045d47de6dcf369c627e510825768d09329ecd83c5bdd4cfb15db20b7a883e9242c074740de35c8fa0d06818f4072b
7
+ data.tar.gz: a54068948b5adba97fde9b314a0309c4eb479954c9a211736246a7b9eebf367793df49aa5c30ae320db036c77f6d7121079738d35cb8720d3eb0ad61b4b75134
checksums.yaml.gz.sig CHANGED
Binary file
@@ -20,6 +20,7 @@ module Milestoner
20
20
  case [min, max]
21
21
  in MIN, MAX then git.tag_last.bind { |tag| git.commits "#{tag}..#{max}" }
22
22
  in String, String then git.commits "#{min}..#{max}"
23
+ in nil, String then git.commits max
23
24
  else Failure "Invalid minimum and/or maximum range: #{min}..#{max}."
24
25
  end
25
26
  end
@@ -35,8 +35,10 @@ module Milestoner
35
35
 
36
36
  def collect = git.tagged? ? git.tags("--sort=taggerdate") : placeholder_with_commits
37
37
 
38
+ # :reek:FeatureEnvy
38
39
  def tail references
39
40
  references.append "HEAD" if settings.build_tail == "head"
41
+ references.prepend nil if references.one?
40
42
  references
41
43
  end
42
44
 
@@ -12,7 +12,7 @@ module Milestoner
12
12
  using Refinements::Hash
13
13
 
14
14
  Root = lambda do |attributes, key = :build_root|
15
- attributes.transform_with! key => -> value { Pathname(value).expand_path }
15
+ attributes.transform_value!(key) { |value| Pathname(value).expand_path }
16
16
  Dry::Monads::Success attributes
17
17
  end
18
18
  end
@@ -14,6 +14,12 @@ module Milestoner
14
14
 
15
15
  using Refine
16
16
 
17
+ def self.authors_for tags
18
+ tags.flat_map { |tag| tag.commits.map(&:author) }
19
+ .then { |users| users.any? ? users : tags.map(&:author) }
20
+ .uniq
21
+ end
22
+
17
23
  def initialize(client: RSS::Maker, view: Views::Milestones::Show.new, **)
18
24
  super(**)
19
25
  @client = client
@@ -56,10 +62,7 @@ module Milestoner
56
62
  def build_channel_elements node, tags
57
63
  build_links node
58
64
  build_generator node
59
-
60
- build_authors node,
61
- tags.flat_map { |tag| tag.commits.map(&:author) }
62
- .uniq
65
+ build_authors node, self.class.authors_for(tags)
63
66
 
64
67
  node.categories.build label: settings.project_label, term: settings.project_name
65
68
  end
@@ -6,7 +6,7 @@ require "hanami/view"
6
6
 
7
7
  module Milestoner
8
8
  module Views
9
- # Provides a custom context.
9
+ # The view context.
10
10
  class Context < Hanami::View::Context
11
11
  extend Forwardable
12
12
 
@@ -5,7 +5,7 @@ require "hanami/view"
5
5
  module Milestoner
6
6
  module Views
7
7
  module Milestones
8
- # Renders release notes.
8
+ # The show view.
9
9
  class Show < Hanami::View
10
10
  include Import[:settings]
11
11
 
@@ -6,7 +6,7 @@ require "refinements/array"
6
6
  module Milestoner
7
7
  module Views
8
8
  module Parts
9
- # Provides commit presentation logic.
9
+ # The commit presentation logic.
10
10
  # :reek:RepeatedConditional
11
11
  class Commit < Hanami::View::Part
12
12
  include Import[:settings, :sanitizer]
@@ -6,7 +6,7 @@ require "refinements/string"
6
6
  module Milestoner
7
7
  module Views
8
8
  module Parts
9
- # Provides tag presentation logic.
9
+ # The tag presentation logic.
10
10
  class Tag < Hanami::View::Part
11
11
  include Import[:settings]
12
12
 
@@ -5,7 +5,7 @@ require "hanami/view"
5
5
  module Milestoner
6
6
  module Views
7
7
  module Parts
8
- # Provides user presentation logic.
8
+ # The user presentation logic.
9
9
  class User < Hanami::View::Part
10
10
  include Import[:settings]
11
11
 
@@ -6,7 +6,7 @@ require "hanami/view"
6
6
  module Milestoner
7
7
  module Views
8
8
  module Scopes
9
- # Provides content specific behavior for partials.
9
+ # The content specific behavior for partials.
10
10
  class Content < Hanami::View::Scope
11
11
  def content = String locals.fetch(:content, Core::EMPTY_STRING)
12
12
 
@@ -6,7 +6,7 @@ require "hanami/view"
6
6
  module Milestoner
7
7
  module Views
8
8
  module Scopes
9
- # Provides logo specific behavior for partials.
9
+ # The logo specific behavior for partials.
10
10
  class Logo < Hanami::View::Scope
11
11
  def call = project_uri_logo ? render("milestones/logo") : Core::EMPTY_STRING
12
12
  end
@@ -5,7 +5,7 @@ require "hanami/view"
5
5
  module Milestoner
6
6
  module Views
7
7
  module Scopes
8
- # Provides tag signature specific behavior for partials.
8
+ # The tag signature specific behavior for partials.
9
9
  class TagSignature < Hanami::View::Scope
10
10
  def initialize(part: Parts::Tag.new(value: Models::Tag.new), **)
11
11
  @part = part
@@ -5,7 +5,7 @@ require "hanami/view"
5
5
  module Milestoner
6
6
  module Views
7
7
  module Scopes
8
- # Provides users specific behavior for partials.
8
+ # The users specific behavior for partials.
9
9
  class Users < Hanami::View::Scope
10
10
  def call = users.any? ? render("milestones/users", users:) : render("milestones/none")
11
11
  end
data/milestoner.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "milestoner"
5
- spec.version = "18.6.0"
5
+ spec.version = "18.8.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/milestoner"
@@ -33,18 +33,18 @@ Gem::Specification.new do |spec|
33
33
  spec.add_dependency "etcher", "~> 2.1"
34
34
  spec.add_dependency "gitt", "~> 3.9"
35
35
  spec.add_dependency "hanami-view", "~> 2.1"
36
- spec.add_dependency "infusible", "~> 3.8"
36
+ spec.add_dependency "infusible", "~> 3.11"
37
37
  spec.add_dependency "lode", "~> 1.8"
38
38
  spec.add_dependency "redcarpet", "~> 3.6"
39
- spec.add_dependency "refinements", "~> 12.8"
39
+ spec.add_dependency "refinements", "~> 12.9"
40
40
  spec.add_dependency "rouge", "~> 4.4"
41
41
  spec.add_dependency "rss", "~> 0.3"
42
42
  spec.add_dependency "runcom", "~> 11.5"
43
43
  spec.add_dependency "sanitize", "~> 6.1"
44
- spec.add_dependency "sod", "~> 0.14"
44
+ spec.add_dependency "sod", "~> 0.17"
45
45
  spec.add_dependency "spek", "~> 3.0"
46
46
  spec.add_dependency "versionaire", "~> 13.0"
47
- spec.add_dependency "zeitwerk", "~> 2.6"
47
+ spec.add_dependency "zeitwerk", "~> 2.7"
48
48
 
49
49
  spec.bindir = "exe"
50
50
  spec.executables << "milestoner"
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: milestoner
3
3
  version: !ruby/object:Gem::Version
4
- version: 18.6.0
4
+ version: 18.8.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-20 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: asciidoctor
@@ -183,14 +183,14 @@ dependencies:
183
183
  requirements:
184
184
  - - "~>"
185
185
  - !ruby/object:Gem::Version
186
- version: '3.8'
186
+ version: '3.11'
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: '3.8'
193
+ version: '3.11'
194
194
  - !ruby/object:Gem::Dependency
195
195
  name: lode
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: '12.8'
228
+ version: '12.9'
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: '12.8'
235
+ version: '12.9'
236
236
  - !ruby/object:Gem::Dependency
237
237
  name: rouge
238
238
  requirement: !ruby/object:Gem::Requirement
@@ -295,14 +295,14 @@ dependencies:
295
295
  requirements:
296
296
  - - "~>"
297
297
  - !ruby/object:Gem::Version
298
- version: '0.14'
298
+ version: '0.17'
299
299
  type: :runtime
300
300
  prerelease: false
301
301
  version_requirements: !ruby/object:Gem::Requirement
302
302
  requirements:
303
303
  - - "~>"
304
304
  - !ruby/object:Gem::Version
305
- version: '0.14'
305
+ version: '0.17'
306
306
  - !ruby/object:Gem::Dependency
307
307
  name: spek
308
308
  requirement: !ruby/object:Gem::Requirement
@@ -337,14 +337,14 @@ dependencies:
337
337
  requirements:
338
338
  - - "~>"
339
339
  - !ruby/object:Gem::Version
340
- version: '2.6'
340
+ version: '2.7'
341
341
  type: :runtime
342
342
  prerelease: false
343
343
  version_requirements: !ruby/object:Gem::Requirement
344
344
  requirements:
345
345
  - - "~>"
346
346
  - !ruby/object:Gem::Version
347
- version: '2.6'
347
+ version: '2.7'
348
348
  description:
349
349
  email:
350
350
  - brooke@alchemists.io
@@ -525,7 +525,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
525
525
  - !ruby/object:Gem::Version
526
526
  version: '0'
527
527
  requirements: []
528
- rubygems_version: 3.5.19
528
+ rubygems_version: 3.5.21
529
529
  signing_key:
530
530
  specification_version: 4
531
531
  summary: A command line interface for automated Git repository milestones.
metadata.gz.sig CHANGED
Binary file