rubysmith 3.0.0 → 3.2.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +26 -13
- data/lib/rubysmith/builders/git_hub.rb +9 -0
- data/lib/rubysmith/cli/parsers/build.rb +9 -0
- data/lib/rubysmith/configuration/content.rb +4 -0
- data/lib/rubysmith/configuration/defaults.yml +2 -0
- data/lib/rubysmith/templates/%project_name%/.github/FUNDING.yml.erb +1 -0
- data/lib/rubysmith/templates/%project_name%/Gemfile.erb +3 -3
- data/lib/rubysmith/templates/%project_name%/spec/spec_helper.rb.erb +1 -1
- data/rubysmith.gemspec +9 -8
- data.tar.gz.sig +0 -0
- metadata +19 -17
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c8dc110fe2e5b1c72b839dd71c67d89ed5468d277a566672f6bfa9fa3e865d13
|
4
|
+
data.tar.gz: b88ecf8ad58db97af2b32075e44fe66c40be163dfabeef0982f33e94e973ff1a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73391d28a37c044162526fb7582bea272016931f95ca354b6d9f26ccfb55a92fd64192342b3deebd1ab2accaf820bd6bf823d1babc335064673d1881b0d760fe
|
7
|
+
data.tar.gz: 5a73e1d1b7e56aff92b77c6ecd1c13961674c316ab30e63bbe1818412262dd4dbc3d2181f5f2f3f1c48528f2b9c36113ad90f9f58cd9e90926c9ba0b86b1c900
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
:gemsmith_link: link:https://www.alchemists.io/projects/gemsmith[Gemsmith]
|
2
|
+
|
1
3
|
:toc: macro
|
2
4
|
:toclevels: 5
|
3
5
|
:figure-caption!:
|
@@ -8,11 +10,10 @@ Rubysmith is a command line interface for smithing Ruby projects.
|
|
8
10
|
|
9
11
|
This gem is useful in situations in which you need something more sophisticated than a
|
10
12
|
link:https://bundler.io/guides/bundler_in_a_single_file_ruby_script.html[Bundler Inline] script but
|
11
|
-
less than a
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
others.
|
13
|
+
less than a {gemsmith_link} gem. Rubysmith is the foundation of Gemsmith and provides much of the
|
14
|
+
same functionality as Gemsmith but is solely tailored for pure Ruby projects. Again, this is a great
|
15
|
+
tool for spiking quick Ruby implementations, sharing code snippets with others, or building full
|
16
|
+
blown Ruby projects for collaboration with others.
|
16
17
|
|
17
18
|
toc::[]
|
18
19
|
|
@@ -99,6 +100,7 @@ BUILD OPTIONS:
|
|
99
100
|
--[no-]console Add console script. Default: true.
|
100
101
|
--[no-]contributions Add contributions documentation. Default: true.
|
101
102
|
--[no-]debug Add Debug gem. Default: true.
|
103
|
+
--[no-]funding Add GitHub funding configuration. Default: false.
|
102
104
|
--[no-]git Add Git. Default: true.
|
103
105
|
--[no-]git_hub Add GitHub templates. Default: false.
|
104
106
|
--[no-]git-lint Add Git Lint gem. Default: true.
|
@@ -229,6 +231,12 @@ The `--debug` option allows you add the link:https://github.com/ruby/debug[Debug
|
|
229
231
|
project for debugging your code by setting breakpoints, remotely connecting to running code, and
|
230
232
|
much more.
|
231
233
|
|
234
|
+
==== Funding
|
235
|
+
|
236
|
+
The `--funding` option allows you add a link:https://github.com[GitHub] funding configuration to
|
237
|
+
your project so you can attract link:https://docs.github.com/en/sponsors[sponsors]. This option
|
238
|
+
doesn't require use of the `--git_hub` option but is encouraged.
|
239
|
+
|
232
240
|
==== Git
|
233
241
|
|
234
242
|
The `--git` option allows you add link:https://git-scm.com[Git] repository support.
|
@@ -363,6 +371,7 @@ variables. The default configuration is as follows:
|
|
363
371
|
:console: true
|
364
372
|
:contributions: true
|
365
373
|
:debug: true
|
374
|
+
:funding: false
|
366
375
|
:git: true
|
367
376
|
:git_hub: false
|
368
377
|
:git_lint: true
|
@@ -428,6 +437,7 @@ variables. The default configuration is as follows:
|
|
428
437
|
:conduct:
|
429
438
|
:contributions:
|
430
439
|
:download:
|
440
|
+
:funding:
|
431
441
|
:home:
|
432
442
|
:issues:
|
433
443
|
:license:
|
@@ -463,11 +473,11 @@ custom values as desired. The URL is the only value that can't be automatically
|
|
463
473
|
==== Build
|
464
474
|
|
465
475
|
All build options accept booleans values only and can be customized as desired. When changing your
|
466
|
-
build options, they will dynamically render when
|
467
|
-
these options
|
476
|
+
build options, they will dynamically render when displaying usage (i.e. `rubysmith --help`). All of
|
477
|
+
these options have been explained in greater detail in the _Usage_ section.
|
468
478
|
|
469
|
-
ℹ️
|
470
|
-
|
479
|
+
ℹ️ The `cli` option is provided to support the {gemsmith_link} gem but is not, currently, used by
|
480
|
+
this project.
|
471
481
|
|
472
482
|
==== Citations
|
473
483
|
|
@@ -498,7 +508,7 @@ Follow the above links to learn more about each extension's gem configuration.
|
|
498
508
|
==== GitHub
|
499
509
|
|
500
510
|
Your GitHub user is the handle you setup when creating your GitHub account. This information is used
|
501
|
-
for template and/or URL construction purposes.
|
511
|
+
for template, funding, and/or URL construction purposes.
|
502
512
|
|
503
513
|
==== License
|
504
514
|
|
@@ -512,8 +522,11 @@ license are available:
|
|
512
522
|
==== Project
|
513
523
|
|
514
524
|
There are two sub-categories within this section: URLs and version. The URLs allow you to link to
|
515
|
-
specific documentation related to your project. You'll
|
516
|
-
|
525
|
+
specific documentation related to your project. You'll want to customize these URLs since they are
|
526
|
+
used for documentation, citations, and general project information. Some of the URLs are also used
|
527
|
+
by the {gemsmith_link} gem.
|
528
|
+
|
529
|
+
You
|
517
530
|
can also use `%project_name%` as a placeholder anywhere in your URL and Rubysmith will ensure your
|
518
531
|
place holder is replaced with your project name when generating a new project. Example:
|
519
532
|
|
@@ -574,5 +587,5 @@ bundle exec rake
|
|
574
587
|
|
575
588
|
== Credits
|
576
589
|
|
577
|
-
* Built with
|
590
|
+
* Built with {gemsmith_link}.
|
578
591
|
* Engineered by link:https://www.alchemists.io/team/brooke_kuhlmann[Brooke Kuhlmann].
|
@@ -16,6 +16,8 @@ module Rubysmith
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def call
|
19
|
+
render_funding
|
20
|
+
|
19
21
|
return configuration unless configuration.build_git_hub
|
20
22
|
|
21
23
|
builder.call(with_issue_template).render
|
@@ -27,6 +29,13 @@ module Rubysmith
|
|
27
29
|
|
28
30
|
attr_reader :configuration, :builder
|
29
31
|
|
32
|
+
def render_funding
|
33
|
+
return unless configuration.build_funding
|
34
|
+
|
35
|
+
configuration.merge(template_path: "%project_name%/.github/FUNDING.yml.erb")
|
36
|
+
.then { |updated_configuration| builder.call(updated_configuration).render }
|
37
|
+
end
|
38
|
+
|
30
39
|
def with_issue_template
|
31
40
|
configuration.merge template_path: "%project_name%/.github/ISSUE_TEMPLATE.md.erb"
|
32
41
|
end
|
@@ -124,6 +124,15 @@ module Rubysmith
|
|
124
124
|
end
|
125
125
|
end
|
126
126
|
|
127
|
+
def add_funding
|
128
|
+
client.on(
|
129
|
+
"--[no-]funding",
|
130
|
+
"Add GitHub funding configuration. #{default __method__}."
|
131
|
+
) do |value|
|
132
|
+
configuration.merge! build_funding: value
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
127
136
|
def add_git
|
128
137
|
client.on(
|
129
138
|
"--[no-]git",
|
@@ -33,6 +33,7 @@ module Rubysmith
|
|
33
33
|
:build_console,
|
34
34
|
:build_contributions,
|
35
35
|
:build_debug,
|
36
|
+
:build_funding,
|
36
37
|
:build_git,
|
37
38
|
:build_git_hub,
|
38
39
|
:build_git_lint,
|
@@ -71,6 +72,7 @@ module Rubysmith
|
|
71
72
|
:project_url_conduct,
|
72
73
|
:project_url_contributions,
|
73
74
|
:project_url_download,
|
75
|
+
:project_url_funding,
|
74
76
|
:project_url_home,
|
75
77
|
:project_url_issues,
|
76
78
|
:project_url_license,
|
@@ -129,6 +131,8 @@ module Rubysmith
|
|
129
131
|
|
130
132
|
def computed_project_url_download = format_url(__method__)
|
131
133
|
|
134
|
+
def computed_project_url_funding = format_url(__method__)
|
135
|
+
|
132
136
|
def computed_project_url_home = format_url(__method__)
|
133
137
|
|
134
138
|
def computed_project_url_issues = format_url(__method__)
|
@@ -0,0 +1 @@
|
|
1
|
+
github: [<%= configuration.git_hub_user %>]
|
@@ -3,7 +3,7 @@ ruby File.read(".ruby-version").strip
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
5
|
<% if configuration.build_refinements %>
|
6
|
-
gem "refinements", "~> 9.
|
6
|
+
gem "refinements", "~> 9.4"
|
7
7
|
<% end %>
|
8
8
|
<% if configuration.build_zeitwerk %>
|
9
9
|
gem "zeitwerk", "~> 2.5"
|
@@ -14,7 +14,7 @@ group :code_quality do
|
|
14
14
|
gem "bundler-leak", "~> 0.2"
|
15
15
|
<% end %>
|
16
16
|
<% if configuration.build_caliber %>
|
17
|
-
gem "caliber", "~> 0.
|
17
|
+
gem "caliber", "~> 0.8"
|
18
18
|
<% end %>
|
19
19
|
<% if configuration.build_git && configuration.build_git_lint %>
|
20
20
|
gem "git-lint", "~> 4.0"
|
@@ -35,7 +35,7 @@ group :development do
|
|
35
35
|
gem "rake", "~> 13.0"
|
36
36
|
<% end %>
|
37
37
|
<% if configuration.markdown? %>
|
38
|
-
gem "tocer", "~>
|
38
|
+
gem "tocer", "~> 14.1"
|
39
39
|
<% end %>
|
40
40
|
<% if configuration.build_yard %>
|
41
41
|
gem "yard", "~> 0.9"
|
@@ -25,7 +25,7 @@ RSpec.configure do |config|
|
|
25
25
|
config.disable_monkey_patching!
|
26
26
|
config.example_status_persistence_file_path = "./tmp/rspec-examples.txt"
|
27
27
|
config.filter_run_when_matching :focus
|
28
|
-
config.formatter = ENV
|
28
|
+
config.formatter = ENV.fetch("CI", false) == "true" ? :progress : :documentation
|
29
29
|
config.order = :random
|
30
30
|
config.shared_context_metadata_behavior = :apply_to_host_groups
|
31
31
|
config.warnings = true
|
data/rubysmith.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "rubysmith"
|
5
|
-
spec.version = "3.
|
5
|
+
spec.version = "3.2.0"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
8
|
spec.homepage = "https://github.com/bkuhlmann/rubysmith"
|
@@ -13,6 +13,7 @@ Gem::Specification.new do |spec|
|
|
13
13
|
"bug_tracker_uri" => "https://github.com/bkuhlmann/rubysmith/issues",
|
14
14
|
"changelog_uri" => "https://www.alchemists.io/projects/rubysmith/versions",
|
15
15
|
"documentation_uri" => "https://www.alchemists.io/projects/rubysmith",
|
16
|
+
"funding_uri" => "https://github.com/sponsors/bkuhlmann",
|
16
17
|
"label" => "Rubysmith",
|
17
18
|
"rubygems_mfa_required" => "true",
|
18
19
|
"source_code_uri" => "https://github.com/bkuhlmann/rubysmith"
|
@@ -22,18 +23,18 @@ Gem::Specification.new do |spec|
|
|
22
23
|
spec.cert_chain = [Gem.default_cert_path]
|
23
24
|
|
24
25
|
spec.required_ruby_version = "~> 3.1"
|
25
|
-
spec.add_dependency "auto_injector", "~> 0.
|
26
|
-
spec.add_dependency "cogger", "~> 0.
|
26
|
+
spec.add_dependency "auto_injector", "~> 0.5"
|
27
|
+
spec.add_dependency "cogger", "~> 0.1"
|
27
28
|
spec.add_dependency "dry-container", "~> 0.9"
|
28
29
|
spec.add_dependency "git_plus", "~> 1.3"
|
29
30
|
spec.add_dependency "milestoner", "~> 14.0"
|
30
31
|
spec.add_dependency "pastel", "~> 0.8"
|
31
|
-
spec.add_dependency "pragmater", "~> 11.
|
32
|
-
spec.add_dependency "refinements", "~> 9.
|
32
|
+
spec.add_dependency "pragmater", "~> 11.1"
|
33
|
+
spec.add_dependency "refinements", "~> 9.4"
|
33
34
|
spec.add_dependency "rubocop", "~> 1.27"
|
34
|
-
spec.add_dependency "runcom", "~> 8.
|
35
|
-
spec.add_dependency "spek", "~> 0.
|
36
|
-
spec.add_dependency "tocer", "~> 14.
|
35
|
+
spec.add_dependency "runcom", "~> 8.4"
|
36
|
+
spec.add_dependency "spek", "~> 0.3"
|
37
|
+
spec.add_dependency "tocer", "~> 14.1"
|
37
38
|
spec.add_dependency "zeitwerk", "~> 2.5"
|
38
39
|
|
39
40
|
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: rubysmith
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.2.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-
|
31
|
+
date: 2022-05-07 00:00:00.000000000 Z
|
32
32
|
dependencies:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: auto_injector
|
@@ -36,28 +36,28 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '0.
|
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.
|
46
|
+
version: '0.5'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: cogger
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0.
|
53
|
+
version: '0.1'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '0.
|
60
|
+
version: '0.1'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: dry-container
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,28 +120,28 @@ dependencies:
|
|
120
120
|
requirements:
|
121
121
|
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '11.
|
123
|
+
version: '11.1'
|
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: '11.
|
130
|
+
version: '11.1'
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
132
|
name: refinements
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
135
|
- - "~>"
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version: '9.
|
137
|
+
version: '9.4'
|
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: '9.
|
144
|
+
version: '9.4'
|
145
145
|
- !ruby/object:Gem::Dependency
|
146
146
|
name: rubocop
|
147
147
|
requirement: !ruby/object:Gem::Requirement
|
@@ -162,42 +162,42 @@ dependencies:
|
|
162
162
|
requirements:
|
163
163
|
- - "~>"
|
164
164
|
- !ruby/object:Gem::Version
|
165
|
-
version: '8.
|
165
|
+
version: '8.4'
|
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: '8.
|
172
|
+
version: '8.4'
|
173
173
|
- !ruby/object:Gem::Dependency
|
174
174
|
name: spek
|
175
175
|
requirement: !ruby/object:Gem::Requirement
|
176
176
|
requirements:
|
177
177
|
- - "~>"
|
178
178
|
- !ruby/object:Gem::Version
|
179
|
-
version: '0.
|
179
|
+
version: '0.3'
|
180
180
|
type: :runtime
|
181
181
|
prerelease: false
|
182
182
|
version_requirements: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
184
|
- - "~>"
|
185
185
|
- !ruby/object:Gem::Version
|
186
|
-
version: '0.
|
186
|
+
version: '0.3'
|
187
187
|
- !ruby/object:Gem::Dependency
|
188
188
|
name: tocer
|
189
189
|
requirement: !ruby/object:Gem::Requirement
|
190
190
|
requirements:
|
191
191
|
- - "~>"
|
192
192
|
- !ruby/object:Gem::Version
|
193
|
-
version: '14.
|
193
|
+
version: '14.1'
|
194
194
|
type: :runtime
|
195
195
|
prerelease: false
|
196
196
|
version_requirements: !ruby/object:Gem::Requirement
|
197
197
|
requirements:
|
198
198
|
- - "~>"
|
199
199
|
- !ruby/object:Gem::Version
|
200
|
-
version: '14.
|
200
|
+
version: '14.1'
|
201
201
|
- !ruby/object:Gem::Dependency
|
202
202
|
name: zeitwerk
|
203
203
|
requirement: !ruby/object:Gem::Requirement
|
@@ -274,6 +274,7 @@ files:
|
|
274
274
|
- lib/rubysmith/renderers/erb.rb
|
275
275
|
- lib/rubysmith/renderers/namespace.rb
|
276
276
|
- lib/rubysmith/templates/%project_name%/.circleci/config.yml.erb
|
277
|
+
- lib/rubysmith/templates/%project_name%/.github/FUNDING.yml.erb
|
277
278
|
- lib/rubysmith/templates/%project_name%/.github/ISSUE_TEMPLATE.md.erb
|
278
279
|
- lib/rubysmith/templates/%project_name%/.github/PULL_REQUEST_TEMPLATE.md.erb
|
279
280
|
- lib/rubysmith/templates/%project_name%/.gitignore.erb
|
@@ -310,6 +311,7 @@ metadata:
|
|
310
311
|
bug_tracker_uri: https://github.com/bkuhlmann/rubysmith/issues
|
311
312
|
changelog_uri: https://www.alchemists.io/projects/rubysmith/versions
|
312
313
|
documentation_uri: https://www.alchemists.io/projects/rubysmith
|
314
|
+
funding_uri: https://github.com/sponsors/bkuhlmann
|
313
315
|
label: Rubysmith
|
314
316
|
rubygems_mfa_required: 'true'
|
315
317
|
source_code_uri: https://github.com/bkuhlmann/rubysmith
|
@@ -328,7 +330,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
328
330
|
- !ruby/object:Gem::Version
|
329
331
|
version: '0'
|
330
332
|
requirements: []
|
331
|
-
rubygems_version: 3.3.
|
333
|
+
rubygems_version: 3.3.13
|
332
334
|
signing_key:
|
333
335
|
specification_version: 4
|
334
336
|
summary: A command line interface for smithing Ruby projects.
|
metadata.gz.sig
CHANGED
Binary file
|