milestoner 16.2.1 → 17.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +3 -1
  3. data/README.adoc +333 -57
  4. data/lib/milestoner/builders/ascii_doc.rb +32 -0
  5. data/lib/milestoner/builders/container.rb +17 -0
  6. data/lib/milestoner/builders/import.rb +9 -0
  7. data/lib/milestoner/builders/markdown.rb +32 -0
  8. data/lib/milestoner/builders/stream.rb +29 -0
  9. data/lib/milestoner/builders/web.rb +41 -0
  10. data/lib/milestoner/cli/actions/build/format.rb +24 -0
  11. data/lib/milestoner/cli/actions/build/label.rb +26 -0
  12. data/lib/milestoner/cli/actions/build/layout.rb +36 -0
  13. data/lib/milestoner/cli/actions/build/root.rb +25 -0
  14. data/lib/milestoner/cli/actions/build/version.rb +31 -0
  15. data/lib/milestoner/cli/actions/cache/create.rb +35 -0
  16. data/lib/milestoner/cli/actions/cache/delete.rb +31 -0
  17. data/lib/milestoner/cli/actions/cache/find.rb +31 -0
  18. data/lib/milestoner/cli/actions/cache/info.rb +29 -0
  19. data/lib/milestoner/cli/actions/cache/list.rb +33 -0
  20. data/lib/milestoner/cli/actions/publish.rb +9 -5
  21. data/lib/milestoner/cli/commands/build.rb +60 -0
  22. data/lib/milestoner/cli/commands/cache.rb +27 -0
  23. data/lib/milestoner/cli/shell.rb +3 -2
  24. data/lib/milestoner/commits/categorizer.rb +21 -29
  25. data/lib/milestoner/commits/collector.rb +18 -0
  26. data/lib/milestoner/commits/enricher.rb +51 -0
  27. data/lib/milestoner/commits/enrichers/author.rb +26 -0
  28. data/lib/milestoner/commits/enrichers/body.rb +28 -0
  29. data/lib/milestoner/commits/enrichers/colleague.rb +33 -0
  30. data/lib/milestoner/commits/enrichers/container.rb +25 -0
  31. data/lib/milestoner/commits/enrichers/format.rb +23 -0
  32. data/lib/milestoner/commits/enrichers/import.rb +11 -0
  33. data/lib/milestoner/commits/enrichers/issue.rb +28 -0
  34. data/lib/milestoner/commits/enrichers/milestone.rb +24 -0
  35. data/lib/milestoner/commits/enrichers/note.rb +28 -0
  36. data/lib/milestoner/commits/enrichers/review.rb +23 -0
  37. data/lib/milestoner/commits/enrichers/uri.rb +14 -0
  38. data/lib/milestoner/commits/versioner.rb +48 -0
  39. data/lib/milestoner/configuration/contract.rb +30 -3
  40. data/lib/milestoner/configuration/defaults.yml +31 -8
  41. data/lib/milestoner/configuration/model.rb +26 -1
  42. data/lib/milestoner/configuration/transformers/build/root.rb +21 -0
  43. data/lib/milestoner/configuration/transformers/build/template_paths.rb +32 -0
  44. data/lib/milestoner/configuration/transformers/citations/description.rb +39 -0
  45. data/lib/milestoner/configuration/transformers/citations/label.rb +39 -0
  46. data/lib/milestoner/configuration/transformers/gems/description.rb +34 -0
  47. data/lib/milestoner/configuration/transformers/gems/label.rb +35 -0
  48. data/lib/milestoner/configuration/transformers/gems/name.rb +34 -0
  49. data/lib/milestoner/configuration/transformers/gems/uri.rb +35 -0
  50. data/lib/milestoner/configuration/transformers/generator/label.rb +31 -0
  51. data/lib/milestoner/configuration/transformers/generator/uri.rb +31 -0
  52. data/lib/milestoner/configuration/transformers/project/author.rb +34 -0
  53. data/lib/milestoner/configuration/transformers/project/generator.rb +35 -0
  54. data/lib/milestoner/configuration/transformers/project/label.rb +23 -0
  55. data/lib/milestoner/configuration/transformers/project/name.rb +21 -0
  56. data/lib/milestoner/configuration/transformers/project/version.rb +33 -0
  57. data/lib/milestoner/configuration/transformers/uri/avatar.rb +21 -0
  58. data/lib/milestoner/configuration/transformers/uri/commit.rb +24 -0
  59. data/lib/milestoner/configuration/transformers/uri/profile.rb +21 -0
  60. data/lib/milestoner/configuration/transformers/uri/review.rb +24 -0
  61. data/lib/milestoner/configuration/transformers/uri/tracker.rb +24 -0
  62. data/lib/milestoner/container.rb +52 -9
  63. data/lib/milestoner/models/commit.rb +42 -0
  64. data/lib/milestoner/models/link.rb +12 -0
  65. data/lib/milestoner/models/user.rb +12 -0
  66. data/lib/milestoner/renderers/asciidoc.rb +20 -0
  67. data/lib/milestoner/renderers/markdown.rb +20 -0
  68. data/lib/milestoner/renderers/universal.rb +26 -0
  69. data/lib/milestoner/tags/creator.rb +31 -23
  70. data/lib/milestoner/tags/publisher.rb +5 -5
  71. data/lib/milestoner/tags/pusher.rb +9 -3
  72. data/lib/milestoner/templates/layouts/page.adoc.erb +2 -0
  73. data/lib/milestoner/templates/layouts/page.html.erb +37 -0
  74. data/lib/milestoner/templates/layouts/page.md.erb +2 -0
  75. data/lib/milestoner/templates/layouts/page.stream.erb +2 -0
  76. data/lib/milestoner/templates/milestones/_avatar.html.erb +5 -0
  77. data/lib/milestoner/templates/milestones/_commit.adoc.erb +1 -0
  78. data/lib/milestoner/templates/milestones/_commit.html.erb +104 -0
  79. data/lib/milestoner/templates/milestones/_commit.md.erb +1 -0
  80. data/lib/milestoner/templates/milestones/_commit.stream.erb +1 -0
  81. data/lib/milestoner/templates/milestones/_icon.html.erb +6 -0
  82. data/lib/milestoner/templates/milestones/_profile.html.erb +5 -0
  83. data/lib/milestoner/templates/milestones/show.adoc.erb +9 -0
  84. data/lib/milestoner/templates/milestones/show.html.erb +46 -0
  85. data/lib/milestoner/templates/milestones/show.md.erb +9 -0
  86. data/lib/milestoner/templates/milestones/show.stream.erb +9 -0
  87. data/lib/milestoner/templates/public/page.css.erb +373 -0
  88. data/lib/milestoner/views/context.rb +27 -0
  89. data/lib/milestoner/views/milestones/show.rb +47 -0
  90. data/lib/milestoner/views/parts/commit.rb +85 -0
  91. data/lib/milestoner.rb +1 -1
  92. data/milestoner.gemspec +17 -11
  93. data.tar.gz.sig +0 -0
  94. metadata +182 -26
  95. metadata.gz.sig +1 -1
  96. data/lib/milestoner/cli/actions/status.rb +0 -37
  97. data/lib/milestoner/presenters/commit.rb +0 -36
@@ -0,0 +1,85 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "asciidoctor"
4
+ require "hanami/view"
5
+ require "refinements/array"
6
+
7
+ module Milestoner
8
+ module Views
9
+ module Parts
10
+ # Provides presentation for an individual commit.
11
+ # :reek:RepeatedConditional
12
+ class Commit < Hanami::View::Part
13
+ include Import[:configuration, :sanitizer]
14
+
15
+ using Refinements::Array
16
+
17
+ def initialize(**)
18
+ super(**)
19
+ @prefixes = configuration.commit_categories.pluck :label
20
+ @authored_at = Time.at(value.authored_at.to_i).utc
21
+ end
22
+
23
+ def avatar_url(user) = format configuration.avatar_uri, id: user.external_id
24
+
25
+ def profile_url(user) = format configuration.profile_uri, id: user.handle
26
+
27
+ def kind
28
+ if prefixes.include? prefix then "normal"
29
+ elsif value.directive? then "alert"
30
+ else "error"
31
+ end
32
+ end
33
+
34
+ def emoji
35
+ configuration.commit_categories
36
+ .find { |category| category.fetch(:label) == prefix }
37
+ .then { |category| category ? category.fetch(:emoji) : "🔶" }
38
+ end
39
+
40
+ def icon
41
+ if prefixes.include? prefix then String(prefix).downcase
42
+ elsif value.directive? then "rebase"
43
+ else "invalid"
44
+ end
45
+ end
46
+
47
+ def safe_body = sanitizer.call(value.body).html_safe
48
+
49
+ def safe_notes = sanitizer.call(value.notes).html_safe
50
+
51
+ def total_deletions = format "%d", -value.deletions
52
+
53
+ # :reek:FeatureEnvy
54
+ def total_insertions
55
+ value.insertions.then { |total| total.positive? ? "+#{total}" : total.to_s }
56
+ end
57
+
58
+ def tag
59
+ return "rebase" if value.directive?
60
+ return "invalid" unless prefixes.include? prefix
61
+
62
+ value.milestone
63
+ end
64
+
65
+ def security = value.signature == "Good" ? "secure" : "insecure"
66
+
67
+ def at = authored_at.strftime "%Y-%m-%dT%H:%M:%S%z"
68
+
69
+ def weekday = authored_at.strftime "%A"
70
+
71
+ def date = authored_at.strftime "%Y-%m-%d"
72
+
73
+ def time = authored_at.strftime "%H:%M %p"
74
+
75
+ def zone = authored_at.strftime "%Z"
76
+
77
+ private
78
+
79
+ attr_reader :prefixes, :authored_at
80
+
81
+ def prefix = value.prefix
82
+ end
83
+ end
84
+ end
85
+ end
data/lib/milestoner.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  require "zeitwerk"
4
4
 
5
5
  Zeitwerk::Loader.new.then do |loader|
6
- loader.inflector.inflect "cli" => "CLI"
6
+ loader.inflector.inflect "ascii_doc" => "ASCIIDoc", "cli" => "CLI", "uri" => "URI"
7
7
  loader.tag = File.basename __FILE__, ".rb"
8
8
  loader.push_dir __dir__
9
9
  loader.setup
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 = "16.2.1"
5
+ spec.version = "17.1.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/milestoner"
@@ -22,19 +22,25 @@ Gem::Specification.new do |spec|
22
22
  spec.signing_key = Gem.default_key_path
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
- spec.required_ruby_version = [">= 3.2", "<= 3.3"]
26
- spec.add_dependency "cogger", "~> 0.12"
25
+ spec.required_ruby_version = "~> 3.3"
26
+ spec.add_dependency "asciidoctor", "~> 2.0"
27
+ spec.add_dependency "cff", "~> 1.1"
28
+ spec.add_dependency "cogger", "~> 0.16"
27
29
  spec.add_dependency "dry-container", "~> 0.11"
28
30
  spec.add_dependency "dry-monads", "~> 1.6"
29
31
  spec.add_dependency "dry-schema", "~> 1.13"
30
- spec.add_dependency "etcher", "~> 0.2"
31
- spec.add_dependency "gitt", "~> 2.0"
32
- spec.add_dependency "infusible", "~> 2.2"
33
- spec.add_dependency "refinements", "~> 11.0"
34
- spec.add_dependency "runcom", "~> 10.0"
35
- spec.add_dependency "sod", "~> 0.0"
36
- spec.add_dependency "spek", "~> 2.0"
37
- spec.add_dependency "versionaire", "~> 12.0"
32
+ spec.add_dependency "etcher", "~> 1.0"
33
+ spec.add_dependency "gitt", "~> 3.0"
34
+ spec.add_dependency "hanami-view", "~> 2.1.0.rc2"
35
+ spec.add_dependency "infusible", "~> 3.1"
36
+ spec.add_dependency "lode", "~> 1.0"
37
+ spec.add_dependency "redcarpet", "~> 3.6"
38
+ spec.add_dependency "refinements", "~> 12.0"
39
+ spec.add_dependency "runcom", "~> 11.0"
40
+ spec.add_dependency "sanitize", "~> 6.1"
41
+ spec.add_dependency "sod", "~> 0.4"
42
+ spec.add_dependency "spek", "~> 3.0"
43
+ spec.add_dependency "versionaire", "~> 13.0"
38
44
  spec.add_dependency "zeitwerk", "~> 2.6"
39
45
 
40
46
  spec.bindir = "exe"
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: 16.2.1
4
+ version: 17.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,22 +35,50 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2023-11-16 00:00:00.000000000 Z
38
+ date: 2024-01-14 00:00:00.000000000 Z
39
39
  dependencies:
40
+ - !ruby/object:Gem::Dependency
41
+ name: asciidoctor
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.0'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2.0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: cff
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.1'
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '1.1'
40
68
  - !ruby/object:Gem::Dependency
41
69
  name: cogger
42
70
  requirement: !ruby/object:Gem::Requirement
43
71
  requirements:
44
72
  - - "~>"
45
73
  - !ruby/object:Gem::Version
46
- version: '0.12'
74
+ version: '0.16'
47
75
  type: :runtime
48
76
  prerelease: false
49
77
  version_requirements: !ruby/object:Gem::Requirement
50
78
  requirements:
51
79
  - - "~>"
52
80
  - !ruby/object:Gem::Version
53
- version: '0.12'
81
+ version: '0.16'
54
82
  - !ruby/object:Gem::Dependency
55
83
  name: dry-container
56
84
  requirement: !ruby/object:Gem::Requirement
@@ -99,44 +127,100 @@ dependencies:
99
127
  requirements:
100
128
  - - "~>"
101
129
  - !ruby/object:Gem::Version
102
- version: '0.2'
130
+ version: '1.0'
103
131
  type: :runtime
104
132
  prerelease: false
105
133
  version_requirements: !ruby/object:Gem::Requirement
106
134
  requirements:
107
135
  - - "~>"
108
136
  - !ruby/object:Gem::Version
109
- version: '0.2'
137
+ version: '1.0'
110
138
  - !ruby/object:Gem::Dependency
111
139
  name: gitt
112
140
  requirement: !ruby/object:Gem::Requirement
113
141
  requirements:
114
142
  - - "~>"
115
143
  - !ruby/object:Gem::Version
116
- version: '2.0'
144
+ version: '3.0'
117
145
  type: :runtime
118
146
  prerelease: false
119
147
  version_requirements: !ruby/object:Gem::Requirement
120
148
  requirements:
121
149
  - - "~>"
122
150
  - !ruby/object:Gem::Version
123
- version: '2.0'
151
+ version: '3.0'
152
+ - !ruby/object:Gem::Dependency
153
+ name: hanami-view
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: 2.1.0.rc2
159
+ type: :runtime
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: 2.1.0.rc2
124
166
  - !ruby/object:Gem::Dependency
125
167
  name: infusible
126
168
  requirement: !ruby/object:Gem::Requirement
127
169
  requirements:
128
170
  - - "~>"
129
171
  - !ruby/object:Gem::Version
130
- version: '2.2'
172
+ version: '3.1'
173
+ type: :runtime
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '3.1'
180
+ - !ruby/object:Gem::Dependency
181
+ name: lode
182
+ requirement: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '1.0'
187
+ type: :runtime
188
+ prerelease: false
189
+ version_requirements: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '1.0'
194
+ - !ruby/object:Gem::Dependency
195
+ name: redcarpet
196
+ requirement: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '3.6'
131
201
  type: :runtime
132
202
  prerelease: false
133
203
  version_requirements: !ruby/object:Gem::Requirement
134
204
  requirements:
135
205
  - - "~>"
136
206
  - !ruby/object:Gem::Version
137
- version: '2.2'
207
+ version: '3.6'
138
208
  - !ruby/object:Gem::Dependency
139
209
  name: refinements
210
+ requirement: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '12.0'
215
+ type: :runtime
216
+ prerelease: false
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - "~>"
220
+ - !ruby/object:Gem::Version
221
+ version: '12.0'
222
+ - !ruby/object:Gem::Dependency
223
+ name: runcom
140
224
  requirement: !ruby/object:Gem::Requirement
141
225
  requirements:
142
226
  - - "~>"
@@ -150,61 +234,61 @@ dependencies:
150
234
  - !ruby/object:Gem::Version
151
235
  version: '11.0'
152
236
  - !ruby/object:Gem::Dependency
153
- name: runcom
237
+ name: sanitize
154
238
  requirement: !ruby/object:Gem::Requirement
155
239
  requirements:
156
240
  - - "~>"
157
241
  - !ruby/object:Gem::Version
158
- version: '10.0'
242
+ version: '6.1'
159
243
  type: :runtime
160
244
  prerelease: false
161
245
  version_requirements: !ruby/object:Gem::Requirement
162
246
  requirements:
163
247
  - - "~>"
164
248
  - !ruby/object:Gem::Version
165
- version: '10.0'
249
+ version: '6.1'
166
250
  - !ruby/object:Gem::Dependency
167
251
  name: sod
168
252
  requirement: !ruby/object:Gem::Requirement
169
253
  requirements:
170
254
  - - "~>"
171
255
  - !ruby/object:Gem::Version
172
- version: '0.0'
256
+ version: '0.4'
173
257
  type: :runtime
174
258
  prerelease: false
175
259
  version_requirements: !ruby/object:Gem::Requirement
176
260
  requirements:
177
261
  - - "~>"
178
262
  - !ruby/object:Gem::Version
179
- version: '0.0'
263
+ version: '0.4'
180
264
  - !ruby/object:Gem::Dependency
181
265
  name: spek
182
266
  requirement: !ruby/object:Gem::Requirement
183
267
  requirements:
184
268
  - - "~>"
185
269
  - !ruby/object:Gem::Version
186
- version: '2.0'
270
+ version: '3.0'
187
271
  type: :runtime
188
272
  prerelease: false
189
273
  version_requirements: !ruby/object:Gem::Requirement
190
274
  requirements:
191
275
  - - "~>"
192
276
  - !ruby/object:Gem::Version
193
- version: '2.0'
277
+ version: '3.0'
194
278
  - !ruby/object:Gem::Dependency
195
279
  name: versionaire
196
280
  requirement: !ruby/object:Gem::Requirement
197
281
  requirements:
198
282
  - - "~>"
199
283
  - !ruby/object:Gem::Version
200
- version: '12.0'
284
+ version: '13.0'
201
285
  type: :runtime
202
286
  prerelease: false
203
287
  version_requirements: !ruby/object:Gem::Requirement
204
288
  requirements:
205
289
  - - "~>"
206
290
  - !ruby/object:Gem::Version
207
- version: '12.0'
291
+ version: '13.0'
208
292
  - !ruby/object:Gem::Dependency
209
293
  name: zeitwerk
210
294
  requirement: !ruby/object:Gem::Requirement
@@ -233,20 +317,95 @@ files:
233
317
  - README.adoc
234
318
  - exe/milestoner
235
319
  - lib/milestoner.rb
320
+ - lib/milestoner/builders/ascii_doc.rb
321
+ - lib/milestoner/builders/container.rb
322
+ - lib/milestoner/builders/import.rb
323
+ - lib/milestoner/builders/markdown.rb
324
+ - lib/milestoner/builders/stream.rb
325
+ - lib/milestoner/builders/web.rb
326
+ - lib/milestoner/cli/actions/build/format.rb
327
+ - lib/milestoner/cli/actions/build/label.rb
328
+ - lib/milestoner/cli/actions/build/layout.rb
329
+ - lib/milestoner/cli/actions/build/root.rb
330
+ - lib/milestoner/cli/actions/build/version.rb
331
+ - lib/milestoner/cli/actions/cache/create.rb
332
+ - lib/milestoner/cli/actions/cache/delete.rb
333
+ - lib/milestoner/cli/actions/cache/find.rb
334
+ - lib/milestoner/cli/actions/cache/info.rb
335
+ - lib/milestoner/cli/actions/cache/list.rb
236
336
  - lib/milestoner/cli/actions/publish.rb
237
- - lib/milestoner/cli/actions/status.rb
337
+ - lib/milestoner/cli/commands/build.rb
338
+ - lib/milestoner/cli/commands/cache.rb
238
339
  - lib/milestoner/cli/shell.rb
239
340
  - lib/milestoner/commits/categorizer.rb
341
+ - lib/milestoner/commits/collector.rb
342
+ - lib/milestoner/commits/enricher.rb
343
+ - lib/milestoner/commits/enrichers/author.rb
344
+ - lib/milestoner/commits/enrichers/body.rb
345
+ - lib/milestoner/commits/enrichers/colleague.rb
346
+ - lib/milestoner/commits/enrichers/container.rb
347
+ - lib/milestoner/commits/enrichers/format.rb
348
+ - lib/milestoner/commits/enrichers/import.rb
349
+ - lib/milestoner/commits/enrichers/issue.rb
350
+ - lib/milestoner/commits/enrichers/milestone.rb
351
+ - lib/milestoner/commits/enrichers/note.rb
352
+ - lib/milestoner/commits/enrichers/review.rb
353
+ - lib/milestoner/commits/enrichers/uri.rb
354
+ - lib/milestoner/commits/versioner.rb
240
355
  - lib/milestoner/configuration/contract.rb
241
356
  - lib/milestoner/configuration/defaults.yml
242
357
  - lib/milestoner/configuration/model.rb
358
+ - lib/milestoner/configuration/transformers/build/root.rb
359
+ - lib/milestoner/configuration/transformers/build/template_paths.rb
360
+ - lib/milestoner/configuration/transformers/citations/description.rb
361
+ - lib/milestoner/configuration/transformers/citations/label.rb
362
+ - lib/milestoner/configuration/transformers/gems/description.rb
363
+ - lib/milestoner/configuration/transformers/gems/label.rb
364
+ - lib/milestoner/configuration/transformers/gems/name.rb
365
+ - lib/milestoner/configuration/transformers/gems/uri.rb
366
+ - lib/milestoner/configuration/transformers/generator/label.rb
367
+ - lib/milestoner/configuration/transformers/generator/uri.rb
368
+ - lib/milestoner/configuration/transformers/project/author.rb
369
+ - lib/milestoner/configuration/transformers/project/generator.rb
370
+ - lib/milestoner/configuration/transformers/project/label.rb
371
+ - lib/milestoner/configuration/transformers/project/name.rb
372
+ - lib/milestoner/configuration/transformers/project/version.rb
373
+ - lib/milestoner/configuration/transformers/uri/avatar.rb
374
+ - lib/milestoner/configuration/transformers/uri/commit.rb
375
+ - lib/milestoner/configuration/transformers/uri/profile.rb
376
+ - lib/milestoner/configuration/transformers/uri/review.rb
377
+ - lib/milestoner/configuration/transformers/uri/tracker.rb
243
378
  - lib/milestoner/container.rb
244
379
  - lib/milestoner/error.rb
245
380
  - lib/milestoner/import.rb
246
- - lib/milestoner/presenters/commit.rb
381
+ - lib/milestoner/models/commit.rb
382
+ - lib/milestoner/models/link.rb
383
+ - lib/milestoner/models/user.rb
384
+ - lib/milestoner/renderers/asciidoc.rb
385
+ - lib/milestoner/renderers/markdown.rb
386
+ - lib/milestoner/renderers/universal.rb
247
387
  - lib/milestoner/tags/creator.rb
248
388
  - lib/milestoner/tags/publisher.rb
249
389
  - lib/milestoner/tags/pusher.rb
390
+ - lib/milestoner/templates/layouts/page.adoc.erb
391
+ - lib/milestoner/templates/layouts/page.html.erb
392
+ - lib/milestoner/templates/layouts/page.md.erb
393
+ - lib/milestoner/templates/layouts/page.stream.erb
394
+ - lib/milestoner/templates/milestones/_avatar.html.erb
395
+ - lib/milestoner/templates/milestones/_commit.adoc.erb
396
+ - lib/milestoner/templates/milestones/_commit.html.erb
397
+ - lib/milestoner/templates/milestones/_commit.md.erb
398
+ - lib/milestoner/templates/milestones/_commit.stream.erb
399
+ - lib/milestoner/templates/milestones/_icon.html.erb
400
+ - lib/milestoner/templates/milestones/_profile.html.erb
401
+ - lib/milestoner/templates/milestones/show.adoc.erb
402
+ - lib/milestoner/templates/milestones/show.html.erb
403
+ - lib/milestoner/templates/milestones/show.md.erb
404
+ - lib/milestoner/templates/milestones/show.stream.erb
405
+ - lib/milestoner/templates/public/page.css.erb
406
+ - lib/milestoner/views/context.rb
407
+ - lib/milestoner/views/milestones/show.rb
408
+ - lib/milestoner/views/parts/commit.rb
250
409
  - milestoner.gemspec
251
410
  homepage: https://alchemists.io/projects/milestoner
252
411
  licenses:
@@ -265,10 +424,7 @@ require_paths:
265
424
  - lib
266
425
  required_ruby_version: !ruby/object:Gem::Requirement
267
426
  requirements:
268
- - - ">="
269
- - !ruby/object:Gem::Version
270
- version: '3.2'
271
- - - "<="
427
+ - - "~>"
272
428
  - !ruby/object:Gem::Version
273
429
  version: '3.3'
274
430
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -277,7 +433,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
277
433
  - !ruby/object:Gem::Version
278
434
  version: '0'
279
435
  requirements: []
280
- rubygems_version: 3.4.22
436
+ rubygems_version: 3.5.4
281
437
  signing_key:
282
438
  specification_version: 4
283
439
  summary: A command line interface for managing Git repository milestones.
metadata.gz.sig CHANGED
@@ -1 +1 @@
1
- DSI ���4��4�xMOx{@�Km��7AZ��X؟���k�7��O.�F*mE�R�ܻM�~�`@.�%k)�����+H���d]���ZD��À*b)��{��]�9X#6 ������%��m5�����'��=�������^�D��1G�9؋F���G�G�
1
+ fӽ<sM���IZ@�b��ا,}O|Ӝ��\ Y�20͛���v��ic�ཤ��m?���X�z�ϢH�\�R�-������^���gU�_����0�ra �8?�*_��A�ԉ6��L��D<��sV�∬;
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "sod"
4
-
5
- module Milestoner
6
- module CLI
7
- module Actions
8
- # Handles listing project status of untagged commit history.
9
- class Status < Sod::Action
10
- include Milestoner::Import[:kernel, :logger]
11
-
12
- description "Show project status."
13
-
14
- on %w[-s --status]
15
-
16
- def initialize(presenter: Presenters::Commit, categorizer: Commits::Categorizer.new, **)
17
- super(**)
18
- @presenter = presenter
19
- @categorizer = categorizer
20
- end
21
-
22
- def call(*)
23
- categorizer.call
24
- .tap { |records| info "All is quiet." if records.empty? }
25
- .map { |record| presenter.new(record).line_item }
26
- .each { |line_item| kernel.puts line_item }
27
- end
28
-
29
- private
30
-
31
- attr_reader :presenter, :categorizer
32
-
33
- def info(message) = logger.info { message }
34
- end
35
- end
36
- end
37
- end
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "forwardable"
4
- require "gitt"
5
-
6
- module Milestoner
7
- module Presenters
8
- # Wraps the Git Kit Commit for presentation purposes.
9
- class Commit
10
- include Import[:configuration]
11
-
12
- extend Forwardable
13
-
14
- delegate [*Gitt::Models::Commit.members, :amend?, :fixup?, :squash?, :prefix?] => :record
15
-
16
- def initialize(record, **)
17
- super(**)
18
- @record = record
19
- end
20
-
21
- def line_item(delimiter: " - ") = "#{bullet}#{subject}#{delimiter}#{author_name}"
22
-
23
- private
24
-
25
- attr_reader :record
26
-
27
- def bullet
28
- case configuration.documentation_format
29
- when "md" then "- "
30
- when "adoc" then "* "
31
- else ""
32
- end
33
- end
34
- end
35
- end
36
- end