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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 498ee3f9f5f3072d03d5029af0580c17deef5e06ceb870124c9f6c3db4fe199c
4
- data.tar.gz: 254ab76924f0b080f71fc5f8de68d53f1d4f1f6e714da767ad9c2a5f3de18176
3
+ metadata.gz: c8dc110fe2e5b1c72b839dd71c67d89ed5468d277a566672f6bfa9fa3e865d13
4
+ data.tar.gz: b88ecf8ad58db97af2b32075e44fe66c40be163dfabeef0982f33e94e973ff1a
5
5
  SHA512:
6
- metadata.gz: 646599b1f334d412c8c2b3c3e34e4dda24d33210019be03b057e1136e85549d6a37c501ff3e6d2daacd0338e2c4f00c50db09806b8f0c37e1dfb559397b32476
7
- data.tar.gz: 7a4b16ed0990449dde1b68bc807c4f4b2690f81cc8f7287753a01124a9dd199c2c0a6952126118bbd6d091f445f8293e4ce186fb813aea49b11d179331c4238a
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 link:https://www.alchemists.io/projects/gemsmith[Gemsmith] gem. Rubysmith is the
12
- foundation of Gemsmith and provides much of the same functionality as Gemsmith but is solely
13
- tailored for pure Ruby projects. Again, this is a great tool for spiking quick Ruby implementations,
14
- sharing code snippets with others, or building full blown Ruby projects for collaboration with
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 display usage (i.e. `rubysmith --help`). All of
467
- these options are explained in greater detail above.
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
- ℹ️ There is a `cli` configuration option but is only used to support
470
- link:https://www.alchemists.io/projects/gemsmith[Gemsmith].
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 definitely want to customize these as makes
516
- sense since these URLs are used for documentation, citations, and general project information. You
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 link:https://www.alchemists.io/projects/gemsmith[Gemsmith].
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__)
@@ -15,6 +15,7 @@
15
15
  :console: true
16
16
  :contributions: true
17
17
  :debug: true
18
+ :funding: false
18
19
  :git: true
19
20
  :git_hub: false
20
21
  :git_lint: true
@@ -80,6 +81,7 @@
80
81
  :conduct:
81
82
  :contributions:
82
83
  :download:
84
+ :funding:
83
85
  :home:
84
86
  :issues:
85
87
  :license:
@@ -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.2"
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.5"
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", "~> 13.2"
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["CI"] == "true" ? :progress : :documentation
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.0.0"
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.4"
26
- spec.add_dependency "cogger", "~> 0.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.0"
32
- spec.add_dependency "refinements", "~> 9.2"
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.2"
35
- spec.add_dependency "spek", "~> 0.2"
36
- spec.add_dependency "tocer", "~> 14.0"
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.0.0
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-04-10 00:00:00.000000000 Z
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.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: cogger
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '0.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.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.0'
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.0'
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.2'
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.2'
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.2'
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.2'
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.2'
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.2'
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.0'
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.0'
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.11
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