milestoner 17.6.0 → 17.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +5 -3
  3. data/lib/milestoner/builders/ascii_doc.rb +2 -0
  4. data/lib/milestoner/builders/markdown.rb +2 -0
  5. data/lib/milestoner/builders/stream.rb +2 -0
  6. data/lib/milestoner/builders/web.rb +2 -0
  7. data/lib/milestoner/cli/actions/build/label.rb +0 -2
  8. data/lib/milestoner/cli/actions/build/root.rb +0 -1
  9. data/lib/milestoner/cli/actions/build/version.rb +0 -2
  10. data/lib/milestoner/cli/actions/cache/create.rb +1 -1
  11. data/lib/milestoner/cli/actions/cache/delete.rb +1 -1
  12. data/lib/milestoner/cli/actions/cache/find.rb +1 -1
  13. data/lib/milestoner/cli/actions/cache/list.rb +1 -1
  14. data/lib/milestoner/cli/actions/publish.rb +0 -2
  15. data/lib/milestoner/cli/commands/build.rb +0 -3
  16. data/lib/milestoner/cli/commands/cache.rb +0 -3
  17. data/lib/milestoner/commits/categorizer.rb +2 -2
  18. data/lib/milestoner/commits/enrichers/author.rb +1 -1
  19. data/lib/milestoner/commits/enrichers/colleague.rb +1 -1
  20. data/lib/milestoner/commits/versioner.rb +2 -1
  21. data/lib/milestoner/configuration/transformers/build/root.rb +3 -3
  22. data/lib/milestoner/configuration/transformers/build/template_paths.rb +1 -1
  23. data/lib/milestoner/configuration/transformers/citations/description.rb +4 -4
  24. data/lib/milestoner/configuration/transformers/citations/label.rb +4 -4
  25. data/lib/milestoner/configuration/transformers/gems/description.rb +3 -4
  26. data/lib/milestoner/configuration/transformers/gems/label.rb +4 -5
  27. data/lib/milestoner/configuration/transformers/gems/name.rb +3 -4
  28. data/lib/milestoner/configuration/transformers/gems/uri.rb +4 -5
  29. data/lib/milestoner/configuration/transformers/generator/label.rb +3 -3
  30. data/lib/milestoner/configuration/transformers/generator/uri.rb +3 -3
  31. data/lib/milestoner/configuration/transformers/generator/version.rb +3 -3
  32. data/lib/milestoner/configuration/transformers/project/author.rb +3 -3
  33. data/lib/milestoner/configuration/transformers/project/generator.rb +2 -2
  34. data/lib/milestoner/configuration/transformers/project/label.rb +3 -3
  35. data/lib/milestoner/configuration/transformers/project/name.rb +3 -3
  36. data/lib/milestoner/configuration/transformers/project/version.rb +3 -3
  37. data/lib/milestoner/configuration/transformers/uri/avatar.rb +5 -6
  38. data/lib/milestoner/configuration/transformers/uri/commit.rb +8 -9
  39. data/lib/milestoner/configuration/transformers/uri/profile.rb +5 -6
  40. data/lib/milestoner/configuration/transformers/uri/review.rb +8 -9
  41. data/lib/milestoner/configuration/transformers/uri/tracker.rb +8 -9
  42. data/lib/milestoner/tags/creator.rb +5 -2
  43. data/lib/milestoner/views/context.rb +4 -1
  44. data/lib/milestoner/views/milestones/show.rb +0 -1
  45. data/lib/milestoner/views/parts/commit.rb +0 -1
  46. data/milestoner.gemspec +4 -3
  47. data.tar.gz.sig +0 -0
  48. metadata +20 -6
  49. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 73e28707596b9a5a610632108ac373ae2984e1633a60d35cb9872feb8a74de3e
4
- data.tar.gz: 2d33c22077971f71e777940357c03c2b718c459d5afee825eda5e63bd8b487c6
3
+ metadata.gz: e1ba81535b2b7f13eee65139650927c6b6fd89d1f4ce7a91bd8bd8b5f193b938
4
+ data.tar.gz: bf82ebc6322e1509786691305dd7426716db0aa1edb118f244379ed147de9419
5
5
  SHA512:
6
- metadata.gz: a576d44498a17dfa4e970f08d7a5d3daa2d4e74d63947eadf7d2ba217e22a5b3b6128156d8358116741582c04689ea1039c379f28b794df43b11dd44fade2691
7
- data.tar.gz: 50e1485b233665729c633bec2be2a3301772b136abe9dba8098a6e3734354048938f4ea835d8db99ff4c82af5d733b78621a7e768191a08420bd35d7e69e79ef
6
+ metadata.gz: da5ab0c1fb070b621f23d3cd2109fbc88197bc7ef605245fb92d8fd598a352d8f35ebdc7774b5649a0c9e305a08bfb625c0bf32a4d606a6f7ed25b9c666a4691
7
+ data.tar.gz: 93aa467526e6ac43d881834499220c0f0a73d1a0a463b85abc6ad2ff2e63aa5210f5bfa06916f7cfbded178af3383fc45f0d65e5438bfc5729f86ef267db6bd9
checksums.yaml.gz.sig CHANGED
@@ -1,3 +1,5 @@
1
- X�Ă������g�.������u9��[A8��57�g5t=)W׸�ޭ��sO����0��p(��'mR�e �<m4Xw?�yy�fR���nG�������~�xS�ꌴD�=*^��p�-��#��hn|PW�:
2
- ������~4}㭅��,sw��D&(||� ��F��"��t���M���˺P��U��]S��T6)+�n��Ȍ��oo�z �戽
3
- )6��ly܂Ϩ �/sQY�%&{nx��D���F���Hn��^����5��4F��{*���)P@��w��k���R��vJWZd8;�܉�Oq�\��~~2.��r��y 2
1
+ id @,.m������NLG��'�B��ҭ*�&���`���sn�6�x��t��LCX���Sp
2
+ E'0q 9z�AUu��Zj)"��j���"�p�l?-Sx��ZG��F
3
+ �I�7ё��gH6��O͉�KiAƵ+ �"��_ F��c5"_v %z.$�eY/mY2%`�ɑUq}Yr=)�ͻ�����
4
+ ' Bًϙ]C���B��/�H�js�L^A�w8~�����O�d�BWuk�
5
+ ��n��mm( �7��6h�iC]���ap�G܀�;�\)ӱ����� :
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "refinements/pathname"
4
+
3
5
  module Milestoner
4
6
  module Builders
5
7
  # Builds Markdown page output.
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "refinements/pathname"
4
+
3
5
  module Milestoner
4
6
  module Builders
5
7
  # Builds Markdown page output.
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "refinements/pathname"
4
+
3
5
  module Milestoner
4
6
  module Builders
5
7
  # Builds I/O stream output.
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "refinements/pathname"
4
+
3
5
  module Milestoner
4
6
  module Builders
5
7
  # Builds web page output (i.e. HTML and CSS).
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "pathname"
4
3
  require "sod"
5
- require "spek"
6
4
 
7
5
  module Milestoner
8
6
  module CLI
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "pathname"
4
3
  require "sod"
5
4
 
6
5
  module Milestoner
@@ -1,8 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "pathname"
4
3
  require "sod"
5
- require "spek"
6
4
  require "versionaire"
7
5
 
8
6
  module Milestoner
@@ -24,7 +24,7 @@ module Milestoner
24
24
 
25
25
  def process values
26
26
  external_id, handle, name = values.split ","
27
- client.commit(:users) { upsert({external_id:, handle:, name:}) }
27
+ client.write(:users) { upsert({external_id:, handle:, name:}) }
28
28
  end
29
29
 
30
30
  def log_info(message) = logger.info { message }
@@ -15,7 +15,7 @@ module Milestoner
15
15
  on %w[-d --delete], argument: "NAME"
16
16
 
17
17
  def call name
18
- client.commit(:users) { delete name }
18
+ client.write(:users) { delete name }
19
19
  .either(method(:success), method(:failure))
20
20
  end
21
21
 
@@ -15,7 +15,7 @@ module Milestoner
15
15
  on %w[-f --find], argument: "NAME"
16
16
 
17
17
  def call name
18
- client.commit(:users) { find name }
18
+ client.read(:users) { find name }
19
19
  .either(method(:success), method(:failure))
20
20
  end
21
21
 
@@ -16,7 +16,7 @@ module Milestoner
16
16
 
17
17
  def call(*)
18
18
  logger.info { "Listing users..." }
19
- client.commit(:users, &:all).bind { |users| print users }
19
+ client.read(:users, &:all).bind { |users| print users }
20
20
  end
21
21
 
22
22
  private
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "refinements/struct"
4
3
  require "sod"
5
4
  require "versionaire"
6
5
 
@@ -11,7 +10,6 @@ module Milestoner
11
10
  class Publish < Sod::Action
12
11
  include Import[:configuration]
13
12
 
14
- using Refinements::Struct
15
13
  using Versionaire::Cast
16
14
 
17
15
  description "Publish milestone."
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "refinements/pathname"
4
3
  require "sod"
5
4
 
6
5
  module Milestoner
@@ -11,8 +10,6 @@ module Milestoner
11
10
  include Import[:input, :logger, :kernel]
12
11
  include Builders::Import[:ascii_doc, :markdown, :stream, :web]
13
12
 
14
- using Refinements::Pathname
15
-
16
13
  handle "build"
17
14
 
18
15
  description "Build milestone."
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "refinements/pathname"
4
3
  require "sod"
5
4
 
6
5
  module Milestoner
@@ -10,8 +9,6 @@ module Milestoner
10
9
  class Cache < Sod::Command
11
10
  include Import[:input, :logger]
12
11
 
13
- using Refinements::Pathname
14
-
15
12
  handle "cache"
16
13
 
17
14
  description "Manage cache."
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
3
4
  require "refinements/array"
4
- require "versionaire"
5
5
 
6
6
  module Milestoner
7
7
  module Commits
@@ -33,7 +33,7 @@ module Milestoner
33
33
  attr_reader :collector, :expression
34
34
 
35
35
  def group_by_category categories, groups
36
- collector.call.value_or([]).each.with_object groups do |commit, collection|
36
+ collector.call.value_or(Core::EMPTY_ARRAY).each.with_object groups do |commit, collection|
37
37
  category = commit.subject[subject_pattern(categories)]
38
38
  key = collection.key?(category) ? category : "Unknown"
39
39
  collection[key] << commit
@@ -13,7 +13,7 @@ module Milestoner
13
13
  end
14
14
 
15
15
  def call commit
16
- cache.commit(:users) { |table| table.find commit.author_name }
16
+ cache.read(:users) { |table| table.find commit.author_name }
17
17
  .value_or(model.new)
18
18
  end
19
19
 
@@ -24,7 +24,7 @@ module Milestoner
24
24
  def users_for(trailers) = trailers.map { |trailer| user_for parser.call(trailer.value) }
25
25
 
26
26
  def user_for person
27
- cache.commit(:users) { find person.name }
27
+ cache.read(:users) { find person.name }
28
28
  .value_or(nil)
29
29
  end
30
30
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
3
4
  require "dry/monads"
4
5
  require "versionaire"
5
6
 
@@ -30,7 +31,7 @@ module Milestoner
30
31
  attr_reader :defaults, :collector
31
32
 
32
33
  def trailer_milestones
33
- collector.call.value_or([]).each.with_object [] do |commit, values|
34
+ collector.call.value_or(Core::EMPTY_ARRAY).each.with_object [] do |commit, values|
34
35
  commit.trailer_value_for(trailer_key).bind { |milestone| values.append milestone.to_sym }
35
36
  end
36
37
  end
@@ -11,9 +11,9 @@ module Milestoner
11
11
  module Build
12
12
  using Refinements::Hash
13
13
 
14
- Root = lambda do |content, key = :build_root|
15
- content.transform_with! key => -> value { Pathname(value).expand_path }
16
- Dry::Monads::Success content
14
+ Root = lambda do |attributes, key = :build_root|
15
+ attributes.transform_with! key => -> value { Pathname(value).expand_path }
16
+ Dry::Monads::Success attributes
17
17
  end
18
18
  end
19
19
  end
@@ -20,7 +20,7 @@ module Milestoner
20
20
  @xdg_config = xdg_config
21
21
  end
22
22
 
23
- def call(content) = Success content.merge!(key => xdg_config.all.append(default))
23
+ def call(attributes) = Success attributes.merge!(key => xdg_config.all.append(default))
24
24
 
25
25
  private
26
26
 
@@ -23,10 +23,10 @@ module Milestoner
23
23
  @citation = citation
24
24
  end
25
25
 
26
- def call content
27
- content.fetch_value(key) { citation.open(path).abstract }
28
- .then { |value| value unless String(value).empty? }
29
- .then { |value| Success content.merge!(key => value) }
26
+ def call attributes
27
+ attributes.fetch_value(key) { citation.open(path).abstract }
28
+ .then { |value| value unless String(value).empty? }
29
+ .then { |value| Success attributes.merge!(key => value) }
30
30
  end
31
31
 
32
32
  private
@@ -23,10 +23,10 @@ module Milestoner
23
23
  @citation = citation
24
24
  end
25
25
 
26
- def call content
27
- content.fetch_value(key) { citation.open(path).title }
28
- .then { |value| value unless String(value).empty? }
29
- .then { |value| Success content.merge!(key => value) }
26
+ def call attributes
27
+ attributes.fetch_value(key) { citation.open(path).title }
28
+ .then { |value| value unless String(value).empty? }
29
+ .then { |value| Success attributes.merge!(key => value) }
30
30
  end
31
31
 
32
32
  private
@@ -2,7 +2,6 @@
2
2
 
3
3
  require "dry/monads"
4
4
  require "pathname"
5
- require "spek"
6
5
 
7
6
  module Milestoner
8
7
  module Configuration
@@ -19,9 +18,9 @@ module Milestoner
19
18
  super(**)
20
19
  end
21
20
 
22
- def call content
23
- content.fetch(key) { spec_loader.call(path).summary }
24
- .then { |value| Success content.merge!(key => value) }
21
+ def call attributes
22
+ attributes.fetch(key) { spec_loader.call(path).summary }
23
+ .then { |value| Success attributes.merge!(key => value) }
25
24
  end
26
25
 
27
26
  private
@@ -2,7 +2,6 @@
2
2
 
3
3
  require "dry/monads"
4
4
  require "pathname"
5
- require "spek"
6
5
 
7
6
  module Milestoner
8
7
  module Configuration
@@ -19,10 +18,10 @@ module Milestoner
19
18
  super(**)
20
19
  end
21
20
 
22
- def call content
23
- content.fetch(key) { spec_loader.call(path).label }
24
- .then { |value| value unless value == "Undefined" }
25
- .then { |value| Success content.merge!(key => value) }
21
+ def call attributes
22
+ attributes.fetch(key) { spec_loader.call(path).label }
23
+ .then { |value| value unless value == "Undefined" }
24
+ .then { |value| Success attributes.merge!(key => value) }
26
25
  end
27
26
 
28
27
  private
@@ -2,7 +2,6 @@
2
2
 
3
3
  require "dry/monads"
4
4
  require "pathname"
5
- require "spek"
6
5
 
7
6
  module Milestoner
8
7
  module Configuration
@@ -19,9 +18,9 @@ module Milestoner
19
18
  super(**)
20
19
  end
21
20
 
22
- def call content
23
- content.fetch(key) { spec_loader.call(path).name }
24
- .then { |value| Success content.merge!(key => value) }
21
+ def call attributes
22
+ attributes.fetch(key) { spec_loader.call(path).name }
23
+ .then { |value| Success attributes.merge!(key => value) }
25
24
  end
26
25
 
27
26
  private
@@ -2,7 +2,6 @@
2
2
 
3
3
  require "dry/monads"
4
4
  require "pathname"
5
- require "spek"
6
5
 
7
6
  module Milestoner
8
7
  module Configuration
@@ -19,10 +18,10 @@ module Milestoner
19
18
  super(**)
20
19
  end
21
20
 
22
- def call content
23
- content.fetch(key) { spec_loader.call(path).homepage_url }
24
- .then { |value| value unless String(value).empty? }
25
- .then { |value| Success content.merge!(key => value) }
21
+ def call attributes
22
+ attributes.fetch(key) { spec_loader.call(path).homepage_url }
23
+ .then { |value| value unless String(value).empty? }
24
+ .then { |value| Success attributes.merge!(key => value) }
26
25
  end
27
26
 
28
27
  private
@@ -16,9 +16,9 @@ module Milestoner
16
16
  super(**)
17
17
  end
18
18
 
19
- def call content
20
- content.fetch(key) { specification.label }
21
- .then { |value| Success content.merge!(key => value) }
19
+ def call attributes
20
+ attributes.fetch(key) { specification.label }
21
+ .then { |value| Success attributes.merge!(key => value) }
22
22
  end
23
23
 
24
24
  private
@@ -16,9 +16,9 @@ module Milestoner
16
16
  super(**)
17
17
  end
18
18
 
19
- def call content
20
- content.fetch(key) { specification.homepage_url }
21
- .then { |value| Success content.merge!(key => value) }
19
+ def call attributes
20
+ attributes.fetch(key) { specification.homepage_url }
21
+ .then { |value| Success attributes.merge!(key => value) }
22
22
  end
23
23
 
24
24
  private
@@ -16,9 +16,9 @@ module Milestoner
16
16
  super(**)
17
17
  end
18
18
 
19
- def call content
20
- content.fetch(key) { specification.version }
21
- .then { |value| Success content.merge!(key => value) }
19
+ def call attributes
20
+ attributes.fetch(key) { specification.version }
21
+ .then { |value| Success attributes.merge!(key => value) }
22
22
  end
23
23
 
24
24
  private
@@ -19,9 +19,9 @@ module Milestoner
19
19
  super(**)
20
20
  end
21
21
 
22
- def call content
23
- content.fetch_value(key) { git.get("user.name", nil).value_or(nil) }
24
- .then { |value| Success content.merge!(key => value) }
22
+ def call attributes
23
+ attributes.fetch_value(key) { git.get("user.name", nil).value_or(nil) }
24
+ .then { |value| Success attributes.merge!(key => value) }
25
25
  end
26
26
 
27
27
  private
@@ -16,13 +16,13 @@ module Milestoner
16
16
  super(**)
17
17
  end
18
18
 
19
- def call content
19
+ def call attributes
20
20
  warn "`#{self.class}##{__method__}` is deprecated, use " \
21
21
  "`Milestoner::Configuration::Transformers::Generator::Label` or " \
22
22
  "`Milestoner::Configuration::Transformers::Generator::URI` instead.",
23
23
  category: :deprecated
24
24
 
25
- Success({key => specification.labeled_version}.merge!(content))
25
+ Success({key => specification.labeled_version}.merge!(attributes))
26
26
  end
27
27
 
28
28
  private
@@ -13,9 +13,9 @@ module Milestoner
13
13
  using Refinements::String
14
14
  using Refinements::Hash
15
15
 
16
- Label = lambda do |content, key = :project_label, default: Pathname.pwd.basename.to_s|
17
- content.fetch_value(key) { default.titleize }
18
- .then { |value| Dry::Monads::Success content.merge!(key => value) }
16
+ Label = lambda do |attributes, key = :project_label, default: Pathname.pwd.basename.to_s|
17
+ attributes.fetch_value(key) { default.titleize }
18
+ .then { |value| Dry::Monads::Success attributes.merge!(key => value) }
19
19
  end
20
20
  end
21
21
  end
@@ -11,9 +11,9 @@ module Milestoner
11
11
  module Project
12
12
  using Refinements::Hash
13
13
 
14
- Name = lambda do |content, key = :project_name, default: Pathname.pwd.basename.to_s|
15
- content.fetch_value(key) { default }
16
- .then { |value| Dry::Monads::Success content.merge!(key => value) }
14
+ Name = lambda do |attributes, key = :project_name, default: Pathname.pwd.basename.to_s|
15
+ attributes.fetch_value(key) { default }
16
+ .then { |value| Dry::Monads::Success attributes.merge!(key => value) }
17
17
  end
18
18
  end
19
19
  end
@@ -18,9 +18,9 @@ module Milestoner
18
18
  @versioner = versioner
19
19
  end
20
20
 
21
- def call content
22
- content.fetch_value(key) { versioner.call }
23
- .then { |value| Success content.merge!(key => value) }
21
+ def call attributes
22
+ attributes.fetch_value(key) { versioner.call }
23
+ .then { |value| Success attributes.merge!(key => value) }
24
24
  end
25
25
 
26
26
  private
@@ -1,19 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/monads"
4
- require "pathname"
5
4
 
6
5
  module Milestoner
7
6
  module Configuration
8
7
  module Transformers
9
8
  module URI
10
- Avatar = lambda do |content, key = :avatar_uri|
11
- domain, uri = content.values_at :avatar_domain, key
9
+ Avatar = lambda do |attributes, key = :avatar_uri|
10
+ uri, domain = attributes.values_at key, :avatar_domain
12
11
 
13
- return Dry::Monads::Success content unless uri
12
+ return Dry::Monads::Success attributes unless uri
14
13
 
15
- content[key] = format uri, domain:, id: "%<id>s"
16
- Dry::Monads::Success content
14
+ attributes[key] = format uri, domain:, id: "%<id>s"
15
+ Dry::Monads::Success attributes
17
16
  end
18
17
  end
19
18
  end
@@ -1,22 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/monads"
4
- require "pathname"
5
4
 
6
5
  module Milestoner
7
6
  module Configuration
8
7
  module Transformers
9
8
  module URI
10
- Commit = lambda do |content, key = :commit_uri|
11
- owner, name, domain, uri = content.values_at :project_owner,
12
- :project_name,
13
- :commit_domain,
14
- key
9
+ Commit = lambda do |attributes, key = :commit_uri|
10
+ uri, owner, name, domain = attributes.values_at key,
11
+ :project_owner,
12
+ :project_name,
13
+ :commit_domain
15
14
 
16
- return Dry::Monads::Success content unless uri
15
+ return Dry::Monads::Success attributes unless uri
17
16
 
18
- content[key] = format uri, domain:, owner:, name:, id: "%<id>s"
19
- Dry::Monads::Success content
17
+ attributes[key] = format uri, domain:, owner:, name:, id: "%<id>s"
18
+ Dry::Monads::Success attributes
20
19
  end
21
20
  end
22
21
  end
@@ -1,19 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/monads"
4
- require "pathname"
5
4
 
6
5
  module Milestoner
7
6
  module Configuration
8
7
  module Transformers
9
8
  module URI
10
- Profile = lambda do |content, key = :profile_uri|
11
- domain, uri = content.values_at :profile_domain, key
9
+ Profile = lambda do |attributes, key = :profile_uri|
10
+ uri, domain = attributes.values_at key, :profile_domain
12
11
 
13
- return Dry::Monads::Success content unless uri
12
+ return Dry::Monads::Success attributes unless uri
14
13
 
15
- content[key] = format uri, domain:, id: "%<id>s"
16
- Dry::Monads::Success content
14
+ attributes[key] = format uri, domain:, id: "%<id>s"
15
+ Dry::Monads::Success attributes
17
16
  end
18
17
  end
19
18
  end
@@ -1,22 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/monads"
4
- require "pathname"
5
4
 
6
5
  module Milestoner
7
6
  module Configuration
8
7
  module Transformers
9
8
  module URI
10
- Review = lambda do |content, key = :review_uri|
11
- owner, name, domain, uri = content.values_at :project_owner,
12
- :project_name,
13
- :review_domain,
14
- key
9
+ Review = lambda do |attributes, key = :review_uri|
10
+ uri, owner, name, domain = attributes.values_at key,
11
+ :project_owner,
12
+ :project_name,
13
+ :review_domain
15
14
 
16
- return Dry::Monads::Success content unless uri
15
+ return Dry::Monads::Success attributes unless uri
17
16
 
18
- content[key] = format uri, domain:, owner:, name:, id: "%<id>s"
19
- Dry::Monads::Success content
17
+ attributes[key] = format uri, domain:, owner:, name:, id: "%<id>s"
18
+ Dry::Monads::Success attributes
20
19
  end
21
20
  end
22
21
  end
@@ -1,22 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/monads"
4
- require "pathname"
5
4
 
6
5
  module Milestoner
7
6
  module Configuration
8
7
  module Transformers
9
8
  module URI
10
- Tracker = lambda do |content, key = :tracker_uri|
11
- owner, name, domain, uri = content.values_at :project_owner,
12
- :project_name,
13
- :tracker_domain,
14
- key
9
+ Tracker = lambda do |attributes, key = :tracker_uri|
10
+ uri, owner, name, domain = attributes.values_at key,
11
+ :project_owner,
12
+ :project_name,
13
+ :tracker_domain
15
14
 
16
- return Dry::Monads::Success content unless uri
15
+ return Dry::Monads::Success attributes unless uri
17
16
 
18
- content[key] = format uri, domain:, owner:, name:, id: "%<id>s"
19
- Dry::Monads::Success content
17
+ attributes[key] = format uri, domain:, owner:, name:, id: "%<id>s"
18
+ Dry::Monads::Success attributes
20
19
  end
21
20
  end
22
21
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "gitt"
3
+ require "core"
4
4
  require "refinements/string_io"
5
5
  require "versionaire"
6
6
 
@@ -27,7 +27,10 @@ module Milestoner
27
27
  version = compute_version override
28
28
 
29
29
  return false if local? version
30
- fail Error, "Unable to tag without commits." if collector.call.value_or([]).empty?
30
+
31
+ collection = collector.call.value_or Core::EMPTY_ARRAY
32
+
33
+ fail Error, "Unable to tag without commits." if collection.empty?
31
34
 
32
35
  create version
33
36
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
3
4
  require "forwardable"
4
5
  require "hanami/view"
5
6
 
@@ -24,7 +25,9 @@ module Milestoner
24
25
  project_version
25
26
  ] => :input
26
27
 
27
- def project_slug = [project_name, project_version].compact.join("_").tr ".", ""
28
+ def project_slug
29
+ [project_name, project_version].compact.join("_").tr ".", Core::EMPTY_STRING
30
+ end
28
31
 
29
32
  def project_title = [project_label, project_version].compact.join " "
30
33
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "hanami/view"
4
- require "pathname"
5
4
  require "refinements/string"
6
5
 
7
6
  module Milestoner
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "asciidoctor"
4
3
  require "hanami/view"
5
4
  require "refinements/array"
6
5
 
data/milestoner.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "milestoner"
5
- spec.version = "17.6.0"
5
+ spec.version = "17.7.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/milestoner"
9
- spec.summary = "A command line interface for managing Git repository milestones."
9
+ spec.summary = "A command line interface for automated Git repository milestones."
10
10
  spec.license = "Hippocratic-2.1"
11
11
 
12
12
  spec.metadata = {
@@ -27,13 +27,14 @@ Gem::Specification.new do |spec|
27
27
  spec.add_dependency "cff", "~> 1.1"
28
28
  spec.add_dependency "cogger", "~> 0.16"
29
29
  spec.add_dependency "containable", "~> 0.0"
30
+ spec.add_dependency "core", "~> 1.3"
30
31
  spec.add_dependency "dry-monads", "~> 1.6"
31
32
  spec.add_dependency "dry-schema", "~> 1.13"
32
33
  spec.add_dependency "etcher", "~> 1.3"
33
34
  spec.add_dependency "gitt", "~> 3.2"
34
35
  spec.add_dependency "hanami-view", "~> 2.1"
35
36
  spec.add_dependency "infusible", "~> 3.5"
36
- spec.add_dependency "lode", "~> 1.0"
37
+ spec.add_dependency "lode", "~> 1.4"
37
38
  spec.add_dependency "redcarpet", "~> 3.6"
38
39
  spec.add_dependency "refinements", "~> 12.1"
39
40
  spec.add_dependency "runcom", "~> 11.0"
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: 17.6.0
4
+ version: 17.7.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-04-17 00:00:00.000000000 Z
38
+ date: 2024-05-16 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: asciidoctor
@@ -93,6 +93,20 @@ dependencies:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
95
  version: '0.0'
96
+ - !ruby/object:Gem::Dependency
97
+ name: core
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.3'
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.3'
96
110
  - !ruby/object:Gem::Dependency
97
111
  name: dry-monads
98
112
  requirement: !ruby/object:Gem::Requirement
@@ -183,14 +197,14 @@ dependencies:
183
197
  requirements:
184
198
  - - "~>"
185
199
  - !ruby/object:Gem::Version
186
- version: '1.0'
200
+ version: '1.4'
187
201
  type: :runtime
188
202
  prerelease: false
189
203
  version_requirements: !ruby/object:Gem::Requirement
190
204
  requirements:
191
205
  - - "~>"
192
206
  - !ruby/object:Gem::Version
193
- version: '1.0'
207
+ version: '1.4'
194
208
  - !ruby/object:Gem::Dependency
195
209
  name: redcarpet
196
210
  requirement: !ruby/object:Gem::Requirement
@@ -434,8 +448,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
434
448
  - !ruby/object:Gem::Version
435
449
  version: '0'
436
450
  requirements: []
437
- rubygems_version: 3.5.9
451
+ rubygems_version: 3.5.10
438
452
  signing_key:
439
453
  specification_version: 4
440
- summary: A command line interface for managing Git repository milestones.
454
+ summary: A command line interface for automated Git repository milestones.
441
455
  test_files: []
metadata.gz.sig CHANGED
Binary file