rubysmith 3.0.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
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