gemsmith 18.9.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: 9903084baac0bbc66aec044900a169bad7727f1eba0fb62ff22d1c024bd6d50a
4
- data.tar.gz: 122d01ed4082d3f90caccf5b0e5a61d54f1cbf7f83edab61346783edb844f041
3
+ metadata.gz: 6b004535de235f70328a5c2066cb67c63c6d54140e8acdea5d7d84bd87b8b9c3
4
+ data.tar.gz: a970a4b45d2420421612dce9ee84365641fafe3e26d2a8d68b375951e66d3d80
5
5
  SHA512:
6
- metadata.gz: efe12bd5be6671d8b5a4cda0fe14a5b99b89761cf300d22e0e51757898bb58b51197554fc1b2cb840535cc75cd4938d37e84990986b861cee95c14599d7c91f6
7
- data.tar.gz: 244b8332e0a34f96467551b920385f5120e428c0fc57cdc2ac6f51964c645cda89ef83ab5a9c38b3a057e60f714dae62d7b13b5bd9547726baf48de7c0310acb
6
+ metadata.gz: d1d8cb1535e9ccf9cc1976d48bf443d2f7aff825c845e29dc798f11658c7c5f48bc3cfdb809cee8b4a56224001c29cd2b673662a783268bf0aaf350992f92d67
7
+ data.tar.gz: c68c396163452c2382190b495b1e67df7a80aeb472f3ebfd3ea19a7c516930175f15f0b06d0226539a4865c0ede8b5b466f04a9e50a37ce9b889ed0433ac7dc0
checksums.yaml.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- �:�h_��8phSJ
2
- P�<�=:���
3
- ��ŋ|u� ��]���G�3�u�t�[Yڅ�H#�uJlBٲ���g"Q���+�����D�����y�:����R�P��oS"�cW�a ��?l��?�5�;��UG6��|�����/�J�Jc�h�~�}�ae�ͩ =�@�����"M:z�UΣPs�|�#I�u�u�~Q}�f��f�1]�Ŕ�(�s3�s�ܻ›��e��a�E��]�?�Z
1
+ ���Eaŀ�#kp
2
+ f��w���=�
data/README.adoc CHANGED
@@ -53,7 +53,6 @@ USAGE:
53
53
 
54
54
  BUILD OPTIONS:
55
55
  --[no-]amazing_print Add Amazing Print gem. Default: true.
56
- --[no-]bundler-leak Add Bundler Leak gem. Default: true.
57
56
  --[no-]caliber Add Caliber gem. Default: true.
58
57
  --[no-]circle_ci Add Circle CI configuration and badge. Default: false.
59
58
  --[no-]citation Add citation documentation. Default: true.
@@ -65,6 +64,7 @@ BUILD OPTIONS:
65
64
  --[no-]funding Add GitHub funding configuration. Default: false.
66
65
  --[no-]git Add Git. Default: true.
67
66
  --[no-]git_hub Add GitHub templates. Default: false.
67
+ --[no-]git_hub_ci Add GitHub templates. Default: false.
68
68
  --[no-]git-lint Add Git Lint gem. Default: true.
69
69
  --[no-]guard Add Guard gem. Default: true.
70
70
  --[no-]license Add license documentation. Default: true.
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 = "18.9.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"
@@ -22,17 +22,17 @@ 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.1"
26
- spec.add_dependency "cogger", "~> 0.4"
25
+ spec.required_ruby_version = "~> 3.2"
26
+ spec.add_dependency "cogger", "~> 0.5"
27
27
  spec.add_dependency "dry-container", "~> 0.11"
28
- spec.add_dependency "dry-monads", "~> 1.5"
29
- spec.add_dependency "infusible", "~> 0.2"
30
- spec.add_dependency "milestoner", "~> 14.5"
31
- spec.add_dependency "refinements", "~> 9.7"
32
- spec.add_dependency "rubysmith", "~> 3.8"
33
- spec.add_dependency "runcom", "~> 8.7"
34
- spec.add_dependency "spek", "~> 0.6"
35
- spec.add_dependency "versionaire", "~> 10.6"
28
+ spec.add_dependency "dry-monads", "~> 1.6"
29
+ spec.add_dependency "infusible", "~> 1.0"
30
+ spec.add_dependency "milestoner", "~> 15.1"
31
+ spec.add_dependency "refinements", "~> 10.0"
32
+ spec.add_dependency "rubysmith", "~> 4.2"
33
+ spec.add_dependency "runcom", "~> 9.0"
34
+ spec.add_dependency "spek", "~> 1.0"
35
+ spec.add_dependency "versionaire", "~> 11.0"
36
36
  spec.add_dependency "zeitwerk", "~> 2.6"
37
37
 
38
38
  spec.bindir = "exe"
@@ -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
@@ -31,6 +31,7 @@ module Gemsmith
31
31
  Rubysmith::Builders::GitHub,
32
32
  Rubysmith::Builders::Guard,
33
33
  Rubysmith::Builders::Reek,
34
+ Rubysmith::Builders::RSpec::Binstub,
34
35
  Rubysmith::Builders::RSpec::Context,
35
36
  Rubysmith::Builders::RSpec::Helper,
36
37
  Builders::RSpec::Helper,
@@ -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,20 +35,23 @@ 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 %>
41
44
  <% if configuration.build_cli %>
42
- spec.add_dependency "infusible", "~> 0.2"
45
+ spec.add_dependency "infusible", "~> 1.0"
43
46
  <% end %>
44
47
  <% if configuration.build_refinements %>
45
- spec.add_dependency "refinements", "~> 9.7"
48
+ spec.add_dependency "refinements", "~> 10.0"
46
49
  <% end %>
47
50
  <% if configuration.build_cli %>
48
- spec.add_dependency "runcom", "~> 8.7"
51
+ spec.add_dependency "runcom", "~> 9.0"
49
52
  <% end %>
50
53
  <% if configuration.build_cli %>
51
- spec.add_dependency "spek", "~> 0.6"
54
+ spec.add_dependency "spek", "~> 1.0"
52
55
  <% end %>
53
56
  <% if configuration.build_zeitwerk %>
54
57
  spec.add_dependency "zeitwerk", "~> 2.6"
data/lib/gemsmith.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "zeitwerk"
4
3
  require "rubysmith"
4
+ require "zeitwerk"
5
5
 
6
6
  Zeitwerk::Loader.for_gem.then do |loader|
7
7
  loader.inflector.inflect "cli" => "CLI", "circle_ci" => "CircleCI", "rspec" => "RSpec"
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: 18.9.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-10-22 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
@@ -36,14 +36,14 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.4'
39
+ version: '0.5'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '0.4'
46
+ version: '0.5'
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: dry-container
49
49
  requirement: !ruby/object:Gem::Requirement
@@ -64,112 +64,112 @@ dependencies:
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '1.5'
67
+ version: '1.6'
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
- version: '1.5'
74
+ version: '1.6'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: infusible
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '0.2'
81
+ version: '1.0'
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '0.2'
88
+ version: '1.0'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: milestoner
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '14.5'
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: '14.5'
102
+ version: '15.1'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: refinements
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '9.7'
109
+ version: '10.0'
110
110
  type: :runtime
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
114
  - - "~>"
115
115
  - !ruby/object:Gem::Version
116
- version: '9.7'
116
+ version: '10.0'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: rubysmith
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
- version: '3.8'
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: '3.8'
130
+ version: '4.2'
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: runcom
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
135
  - - "~>"
136
136
  - !ruby/object:Gem::Version
137
- version: '8.7'
137
+ version: '9.0'
138
138
  type: :runtime
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: '8.7'
144
+ version: '9.0'
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: spek
147
147
  requirement: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '0.6'
151
+ version: '1.0'
152
152
  type: :runtime
153
153
  prerelease: false
154
154
  version_requirements: !ruby/object:Gem::Requirement
155
155
  requirements:
156
156
  - - "~>"
157
157
  - !ruby/object:Gem::Version
158
- version: '0.6'
158
+ version: '1.0'
159
159
  - !ruby/object:Gem::Dependency
160
160
  name: versionaire
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: '10.6'
165
+ version: '11.0'
166
166
  type: :runtime
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: '10.6'
172
+ version: '11.0'
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: zeitwerk
175
175
  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
@@ -273,14 +272,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
273
272
  requirements:
274
273
  - - "~>"
275
274
  - !ruby/object:Gem::Version
276
- version: '3.1'
275
+ version: '3.2'
277
276
  required_rubygems_version: !ruby/object:Gem::Requirement
278
277
  requirements:
279
278
  - - ">="
280
279
  - !ruby/object:Gem::Version
281
280
  version: '0'
282
281
  requirements: []
283
- rubygems_version: 3.3.24
282
+ rubygems_version: 3.4.1
284
283
  signing_key:
285
284
  specification_version: 4
286
285
  summary: A command line interface for smithing Ruby gems.
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