gemsmith 19.0.0 → 19.1.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: 949c2cdf1dfab5ea29c61b05f9e756fd8579abb3dfb39a1493dcbcea4b808e08
4
- data.tar.gz: 001a1b52701118ef8b592011a0d1829967859ec48bac849b6e6920097d6e099d
3
+ metadata.gz: 6b004535de235f70328a5c2066cb67c63c6d54140e8acdea5d7d84bd87b8b9c3
4
+ data.tar.gz: a970a4b45d2420421612dce9ee84365641fafe3e26d2a8d68b375951e66d3d80
5
5
  SHA512:
6
- metadata.gz: 8ba437fc9b93c79afbbeb17185d29f2c07f06a55da7402461c43882714333f70d8a959961368c67b4414d8177b7e6af8b2f7e73d47bae07428751cd38e9b8be8
7
- data.tar.gz: 21ce59db568bd8a79e9f2eb51c3d70a20acac93ddf12fe80fb73b5aa79ef49ac8ee5a1684f3620e1f7246b57152bc311a2f2238bef0d485815d013630de8a6dc
6
+ metadata.gz: d1d8cb1535e9ccf9cc1976d48bf443d2f7aff825c845e29dc798f11658c7c5f48bc3cfdb809cee8b4a56224001c29cd2b673662a783268bf0aaf350992f92d67
7
+ data.tar.gz: c68c396163452c2382190b495b1e67df7a80aeb472f3ebfd3ea19a7c516930175f15f0b06d0226539a4865c0ede8b5b466f04a9e50a37ce9b889ed0433ac7dc0
checksums.yaml.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- �����=�h�E����nt� �k[6Pfp��\Q��!��k;AAX��x�`���ܺ"��'T6��Ӣ`QO���W�I����,�(Jx�Kc4���N4��ұ��kO�_c��E��_���e��v摦�
2
- G����3�e�м�h�߂����3�67{�i}��* L�g�p%���$i��~�ڋ�]^Ժɇ@4����E�Up���!�+4,3��b�+�������
1
+ ���Eaŀ�#k�p
2
+ f��w���=�
data/gemsmith.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "gemsmith"
5
- spec.version = "19.0.0"
5
+ spec.version = "19.1.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://www.alchemists.io/projects/gemsmith"
@@ -27,9 +27,9 @@ Gem::Specification.new do |spec|
27
27
  spec.add_dependency "dry-container", "~> 0.11"
28
28
  spec.add_dependency "dry-monads", "~> 1.6"
29
29
  spec.add_dependency "infusible", "~> 1.0"
30
- spec.add_dependency "milestoner", "~> 15.0"
30
+ spec.add_dependency "milestoner", "~> 15.1"
31
31
  spec.add_dependency "refinements", "~> 10.0"
32
- spec.add_dependency "rubysmith", "~> 4.1"
32
+ spec.add_dependency "rubysmith", "~> 4.2"
33
33
  spec.add_dependency "runcom", "~> 9.0"
34
34
  spec.add_dependency "spek", "~> 1.0"
35
35
  spec.add_dependency "versionaire", "~> 11.0"
@@ -34,10 +34,8 @@ module Gemsmith
34
34
  attr_reader :configuration, :builder
35
35
 
36
36
  def body
37
- <<~CONTENT
38
- Generated with [#{specification.label}](#{specification.homepage_url})
39
- #{specification.version}.
40
- CONTENT
37
+ "Generated with [#{specification.label}](#{specification.homepage_url}) " \
38
+ "#{specification.version}."
41
39
  end
42
40
 
43
41
  def project_name = configuration.project_name
@@ -1,50 +1,32 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "pathname"
4
- require "refinements/arrays"
5
- require "refinements/hashes"
6
3
  require "refinements/structs"
7
4
  require "runcom"
8
- require "yaml"
9
5
 
10
6
  module Gemsmith
11
7
  module Configuration
12
8
  # Represents the fully assembled Command Line Interface (CLI) configuration.
13
- class Loader
14
- using Refinements::Arrays
15
- using Refinements::Hashes
9
+ class Loader < Rubysmith::Configuration::Loader
16
10
  using Refinements::Structs
17
11
 
18
12
  DEFAULTS = Rubysmith::Configuration::Loader::DEFAULTS
19
13
  CLIENT = Runcom::Config.new "gemsmith/configuration.yml", defaults: DEFAULTS
20
14
 
21
- ENHANCERS = Rubysmith::Configuration::Loader::ENHANCERS.including(Enhancers::TemplateRoot.new)
22
- .freeze
23
-
24
- def self.call(...) = new(...).call
25
-
26
- def self.with_defaults = new(client: DEFAULTS, enhancers: [])
27
-
28
- def self.with_overrides = new(client: DEFAULTS, enhancers: [Enhancers::TemplateRoot.new])
29
-
30
- def initialize content: Rubysmith::Configuration::Content.new,
31
- client: CLIENT,
32
- enhancers: ENHANCERS
33
- @content = content
34
- @client = client
35
- @enhancers = enhancers
15
+ def self.with_overrides
16
+ new client: DEFAULTS,
17
+ enhancers: {template_root: Rubysmith::Configuration::Enhancers::TemplateRoot}
36
18
  end
37
19
 
38
- def call
39
- enhancers.reduce(preload_content) { |preload, enhancer| enhancer.call preload }
40
- .freeze
20
+ def initialize client: CLIENT, **dependencies
21
+ super
41
22
  end
42
23
 
43
- private
44
-
45
- attr_reader :content, :client, :enhancers
24
+ def call
25
+ return super unless enhancers.key? :template_root
46
26
 
47
- def preload_content = content.merge(**client.to_h.flatten_keys)
27
+ enhancers[:template_root].call(super, overrides: Pathname(__dir__).join("../templates"))
28
+ .freeze
29
+ end
48
30
  end
49
31
  end
50
32
  end
@@ -35,6 +35,9 @@ Gem::Specification.new do |spec|
35
35
  <% end %>
36
36
 
37
37
  spec.required_ruby_version = "~> <%= RUBY_VERSION[/\d+\.\d+/] %>"
38
+ <% if configuration.build_cli %>
39
+ spec.add_dependency "cogger", "~> 0.5"
40
+ <% end %>
38
41
  <% if configuration.build_cli %>
39
42
  spec.add_dependency "dry-container", "~> 0.11"
40
43
  <% end %>
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemsmith
3
3
  version: !ruby/object:Gem::Version
4
- version: 19.0.0
4
+ version: 19.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -28,7 +28,7 @@ cert_chain:
28
28
  CxDe2+VuChj4I1nvIHdu+E6XoEVlanUPKmSg6nddhkKn2gC45Kyzh6FZqnzH/CRp
29
29
  RFE=
30
30
  -----END CERTIFICATE-----
31
- date: 2022-12-28 00:00:00.000000000 Z
31
+ date: 2023-01-01 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: cogger
@@ -92,14 +92,14 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '15.0'
95
+ version: '15.1'
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: '15.0'
102
+ version: '15.1'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: refinements
105
105
  requirement: !ruby/object:Gem::Requirement
@@ -120,14 +120,14 @@ dependencies:
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: '4.1'
123
+ version: '4.2'
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
128
  - - "~>"
129
129
  - !ruby/object:Gem::Version
130
- version: '4.1'
130
+ version: '4.2'
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: runcom
133
133
  requirement: !ruby/object:Gem::Requirement
@@ -219,7 +219,6 @@ files:
219
219
  - lib/gemsmith/cli/parsers/build.rb
220
220
  - lib/gemsmith/cli/parsers/core.rb
221
221
  - lib/gemsmith/cli/shell.rb
222
- - lib/gemsmith/configuration/enhancers/template_root.rb
223
222
  - lib/gemsmith/configuration/loader.rb
224
223
  - lib/gemsmith/container.rb
225
224
  - lib/gemsmith/import.rb
metadata.gz.sig CHANGED
Binary file
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Gemsmith
4
- module Configuration
5
- module Enhancers
6
- # Adds gem specific roots to existing content.
7
- class TemplateRoot
8
- def initialize overrides = Pathname(__dir__).join("../../templates")
9
- @overrides = Array overrides
10
- end
11
-
12
- def call(content) = content.add_template_roots(overrides)
13
-
14
- private
15
-
16
- attr_reader :overrides
17
- end
18
- end
19
- end
20
- end