rubysmith 4.6.0 → 4.7.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: 52f3ea6bddbe214f6edc3e7046a1f92ffa0070b53501f3d4cd3aefb614a869b4
4
- data.tar.gz: 83952342c372d2da1442ca7d1993318be8269421c92821ffd650beb380b0107f
3
+ metadata.gz: 47619f4260bdfbaff522214517e0d0eceb9c044a86831a753cd3f95733b9d519
4
+ data.tar.gz: d71b4c48cfdd54d70a88f469b5d144373c4dd7ea2e1671a3c5db48bdf0f51eea
5
5
  SHA512:
6
- metadata.gz: e54fb5df14d2ff4d7ba7d61b25b638d7091454a66037e44bf156dc080c7260c1f3e1bb9cf3638cbc2fbf80367b63330270bd498c59fcd77e1854b46cc30e8853
7
- data.tar.gz: ec274eb2cc469a5e5c5a0ed3f806252a9b63d1c394af46cba720fe969a20c0bc20508f6bf5eb27c0a68c3770ae1bf879c87317667a383803cedacd8a8e3ddfe6
6
+ metadata.gz: c8f16e0c7564ecd05bb6c49bcf98206bf2d2365133e78c97f955061344b191e68947e95a1af8aa6a7c7c2ac9e52a0d210478ec9ac331b9c40619bd2fe7d3d5f0
7
+ data.tar.gz: 1c84d025f48b64bea0d4a35b2aa9beec6bb91baeb22faae52c05f8333ea6626980eb443f34f9d55617602db290e29b4cf57f0be06ab08a73d386c82282c9a86b
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -54,7 +54,16 @@ toc::[]
54
54
 
55
55
  == Setup
56
56
 
57
- To install, run:
57
+ To install _with_ security, run:
58
+
59
+ [source,bash]
60
+ ----
61
+ # 💡 Skip this line if you already have the public certificate installed.
62
+ gem cert --add <(curl --compressed --location https://alchemists.io/gems.pem)
63
+ gem install rubysmith --trust-policy HighSecurity
64
+ ----
65
+
66
+ To install _without_ security, run:
58
67
 
59
68
  [source,bash]
60
69
  ----
@@ -23,6 +23,7 @@ module Rubysmith
23
23
  builder.call(configuration.merge(template_path: "%project_name%/README.#{kind}.erb"))
24
24
  .render
25
25
  .replace(/\n{2,}/, "\n\n")
26
+ .replace("\n \n", "\n")
26
27
 
27
28
  configuration
28
29
  end
@@ -8,6 +8,7 @@ module Rubysmith
8
8
  include Rubysmith::Import[:logger]
9
9
 
10
10
  # Order is important.
11
+ # rubocop:todo Metrics/CollectionLiteralLength
11
12
  BUILDERS = [
12
13
  Builders::Core,
13
14
  Builders::Version,
@@ -37,6 +38,7 @@ module Rubysmith
37
38
  Extensions::Rubocop,
38
39
  Builders::Git::Commit
39
40
  ].freeze
41
+ # rubocop:enable Metrics/CollectionLiteralLength
40
42
 
41
43
  def initialize(builders: BUILDERS, **)
42
44
  super(**)
@@ -8,7 +8,7 @@ module Rubysmith
8
8
  module Parsers
9
9
  # Handles parsing of Command Line Interface (CLI) build options.
10
10
  class Build
11
- include Import[:colorizer]
11
+ include Import[:color]
12
12
 
13
13
  using Refinements::Structs
14
14
 
@@ -298,7 +298,7 @@ module Rubysmith
298
298
  option.to_s
299
299
  .sub("add_", "build_")
300
300
  .then { |attribute| configuration.public_send attribute }
301
- .then { |boolean| boolean ? colorizer.green(boolean) : colorizer.red(boolean) }
301
+ .then { |bool| bool ? color[bool, :green] : color[bool, :red] }
302
302
  .then { |colored_boolean| "Default: #{colored_boolean}" }
303
303
  end
304
304
  end
@@ -2,15 +2,15 @@
2
2
 
3
3
  require "cogger"
4
4
  require "dry-container"
5
- require "pastel"
6
5
  require "spek"
6
+ require "tone"
7
7
 
8
8
  module Rubysmith
9
9
  # Provides a global gem container for injection into other objects.
10
10
  module Container
11
11
  extend Dry::Container::Mixin
12
12
 
13
- register(:colorizer) { Pastel.new enabled: $stdout.tty? }
13
+ register(:color) { Tone.new }
14
14
  register(:configuration) { Configuration::Loader.call }
15
15
  register(:specification) { Spek::Loader.call "#{__dir__}/../../rubysmith.gemspec" }
16
16
  register(:kernel) { Kernel }
@@ -1,3 +1,7 @@
1
1
  exclude_paths:
2
2
  - tmp
3
3
  - vendor
4
+
5
+ detectors:
6
+ LongParameterList:
7
+ enabled: false
@@ -15,16 +15,47 @@ toc::[]
15
15
  . link:https://www.ruby-lang.org[Ruby].
16
16
 
17
17
  == Setup
18
- <% if configuration.build_setup %>
18
+ <% if configuration.build_security %>
19
19
 
20
- To set up the project, run:
20
+ To install _with_ security, run:
21
21
 
22
22
  [source,bash]
23
23
  ----
24
- bin/setup
24
+ # 💡 Skip this line if you already have the public certificate installed.
25
+ gem cert --add <(curl --compressed --location <%= configuration.computed_project_url_home %>/gems.pem)
26
+ gem install <%= configuration.project_name %> --trust-policy HighSecurity
27
+ ----
28
+
29
+ To install _without_ security, run:
30
+
31
+ [source,bash]
32
+ ----
33
+ gem install <%= configuration.project_name %>
34
+ ----
35
+ <% else %>
36
+
37
+ To install, run:
38
+
39
+ [source,bash]
40
+ ----
41
+ gem install <%= configuration.project_name %>
25
42
  ----
26
43
  <% end %>
27
44
 
45
+ You can also add the gem directly to your project:
46
+
47
+ [source,bash]
48
+ ----
49
+ bundle add <%= configuration.project_name %>
50
+ ----
51
+
52
+ Once the gem is installed, you only need to require it:
53
+
54
+ [source,ruby]
55
+ ----
56
+ require "<%= configuration.project_name %>"
57
+ ----
58
+
28
59
  == Usage
29
60
 
30
61
  == Development
@@ -12,26 +12,43 @@
12
12
  1. [Ruby](https://www.ruby-lang.org)
13
13
 
14
14
  ## Setup
15
- <% if configuration.build_setup %>
15
+ <% if configuration.build_security %>
16
16
 
17
- To set up the project, run:
17
+ To install _with_ security, run:
18
18
 
19
- bin/setup
19
+ # 💡 Skip this line if you already have the public certificate installed.
20
+ gem cert --add <(curl --compressed --location <%= configuration.computed_project_url_home %>/gems.pem)
21
+ gem install <%= configuration.project_name %> --trust-policy HighSecurity
22
+
23
+ To install _without_ security, run:
24
+
25
+ gem install <%= configuration.project_name %>
26
+ <% else %>
27
+
28
+ To install, run:
29
+
30
+ gem install <%= configuration.project_name %>
20
31
  <% end %>
21
32
 
33
+ You can also add the gem directly to your project:
34
+
35
+ bundle add <%= configuration.project_name %>
36
+
37
+ Once the gem is installed, you only need to require it:
38
+
39
+ require "<%= configuration.project_name %>"
40
+
22
41
  ## Usage
23
42
 
24
43
  ## Development
25
44
 
26
45
  To contribute, run:
27
46
 
28
- ``` bash
29
- git clone <%= configuration.computed_project_url_source %>
30
- cd <%= configuration.project_name %>
31
- <% if configuration.build_setup %>
32
- bin/setup
33
- <% end %>
34
- ```
47
+ git clone <%= configuration.computed_project_url_source %>
48
+ cd <%= configuration.project_name %>
49
+ <% if configuration.build_setup %>
50
+ bin/setup
51
+ <% end %>
35
52
 
36
53
  <% if configuration.build_console %>
37
54
 
@@ -24,7 +24,7 @@ SPEC_ROOT = Pathname(__dir__).realpath.freeze
24
24
 
25
25
  using Refinements::Pathnames
26
26
 
27
- Pathname.require_tree SPEC_ROOT, "support/shared_contexts/**/*.rb"
27
+ Pathname.require_tree SPEC_ROOT.join("support/shared_contexts")
28
28
  <% else %>
29
29
 
30
30
  SPEC_ROOT = Pathname(__dir__).realpath.freeze
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 = "4.6.0"
5
+ spec.version = "4.7.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://github.com/bkuhlmann/rubysmith"
@@ -29,13 +29,13 @@ Gem::Specification.new do |spec|
29
29
  spec.add_dependency "gitt", "~> 1.1"
30
30
  spec.add_dependency "infusible", "~> 1.0"
31
31
  spec.add_dependency "milestoner", "~> 15.2"
32
- spec.add_dependency "pastel", "~> 0.8"
33
32
  spec.add_dependency "pragmater", "~> 12.1"
34
33
  spec.add_dependency "refinements", "~> 10.0"
35
34
  spec.add_dependency "rubocop", "~> 1.41"
36
35
  spec.add_dependency "runcom", "~> 9.0"
37
36
  spec.add_dependency "spek", "~> 1.0"
38
37
  spec.add_dependency "tocer", "~> 15.1"
38
+ spec.add_dependency "tone", "~> 0.1"
39
39
  spec.add_dependency "zeitwerk", "~> 2.6"
40
40
 
41
41
  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: 4.6.0
4
+ version: 4.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -10,25 +10,32 @@ bindir: exe
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIC/jCCAeagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpicm9v
14
- a2UvREM9YWxjaGVtaXN0cy9EQz1pbzAeFw0yMjAzMTkxNzI0MzJaFw0yMzAzMTkx
15
- NzI0MzJaMCUxIzAhBgNVBAMMGmJyb29rZS9EQz1hbGNoZW1pc3RzL0RDPWlvMIIB
16
- IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6l1qpXTiomH1RfMRloyw7MiE
17
- xyVx/x8Yc3EupdH7uhNaTXQGyORN6aOY//1QXXMHIZ9tW74nZLhesWMSUMYy0XhB
18
- brs+KkurHnc9FnEJAbG7ebGvl/ncqZt72nQvaxpDxvuCBHgJAz+8i5wl6FhLw+oT
19
- 9z0A8KcGhz67SdcoQiD7qiCjL/2NTeWHOzkpPrdGlt088+VerEEGf5I13QCvaftP
20
- D5vkU0YlAm1r98BymuJlcQ1qdkVEI1d48ph4kcS0S0nv1RiuyVb6TCAR3Nu3VaVq
21
- 3fPzZKJLZBx67UvXdbdicWPiUR75elI4PXpLIic3xytaF52ZJYyKZCNZJhNwfQID
22
- AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU0nzow9vc
23
- 2CdikiiE3fJhP/gY4ggwDQYJKoZIhvcNAQELBQADggEBAJbbNyWzFjqUNVPPCUCo
24
- IMrhDa9xf1xkORXNYYbmXgoxRy/KyNbUr+jgEEoWJAm9GXlcqxxWAUI6pK/i4/Qi
25
- X6rPFEFmeObDOHNvuqy8Hd6AYsu+kP94U/KJhe9wnWGMmGoNKJNU3EkW3jM/osSl
26
- +JRxiH5t4WtnDiVyoYl5nYC02rYdjJkG6VMxDymXTqn7u6HhYgZkGujq1UPar8x2
27
- hNIWJblDKKSu7hA2d6+kUthuYo13o1sg1Da/AEDg0hoZSUvhqDEF5Hy232qb3pDt
28
- CxDe2+VuChj4I1nvIHdu+E6XoEVlanUPKmSg6nddhkKn2gC45Kyzh6FZqnzH/CRp
29
- RFE=
13
+ MIIEeDCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
14
+ a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
15
+ aW8wHhcNMjMwMzIyMTYxNDQxWhcNMjUwMzIxMTYxNDQxWjBBMQ8wDQYDVQQDDAZi
16
+ cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
17
+ GRYCaW8wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCro8tj5/E1Hg88
18
+ f4qfiwPVd2zJQHvdYt4GHVvuHRRgx4HGhJuNp+4BId08RBn7V6V1MW6MY3kezRBs
19
+ M+7QOQ4b1xNLTvY7FYQB1wGK5a4x7TTokDrPYQxDB2jmsdDYCzVbIMrAvUfcecRi
20
+ khyGZCdByiiCl4fKv77P12tTT+NfsvXkLt/AYCGwjOUyGKTQ01Z6eC09T27GayPH
21
+ QQvIkakyFgcJtzSyGzs8bzK5q9u7wQ12MNTjJoXzW69lqp0oNvDylu81EiSUb5S6
22
+ QzzPxZBiRB1sgtbt1gUbVI262ZDq1gR+HxPFmp+Cgt7ZLIJZAtesQvtcMzseXpfn
23
+ hpmm0Sw22KGhRAy/mqHBRhDl5HqS1SJp2Ko3lcnpXeFResp0HNlt8NSu13vhC08j
24
+ GUHU9MyIXbFOsnp3K3ADrAVjPWop8EZkmUR3MV/CUm00w2cZHCSGiXl1KMpiVKvk
25
+ Ywr1gd2ZME4QLSo+EXUtLxDUa/W3xnBS8dBOuMMz02FPWYr3PN8CAwEAAaN7MHkw
26
+ CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFAFgmv0tYMZnItuPycSM
27
+ F5wykJEVMB8GA1UdEQQYMBaBFGJyb29rZUBhbGNoZW1pc3RzLmlvMB8GA1UdEgQY
28
+ MBaBFGJyb29rZUBhbGNoZW1pc3RzLmlvMA0GCSqGSIb3DQEBCwUAA4IBgQAX+EGY
29
+ 9RLYGxF1VLZz+G1ACQc4uyrCB6kXwI06kzUa5dF9tPXqTX9ffnz3/W8ck2IQhKzu
30
+ MKO2FVijzbDWTsZeZGglS4E+4Jxpau1lU9HhOIcKolv6LeC6UdALTFudY+GLb8Xw
31
+ REXgaJkjzzhkUSILmEnRwEbY08dVSl7ZAaxVI679vfI2yapLlIwpbBgmQTiTvPr3
32
+ qyyLUno9flYEOv9fmGHunSrM+gE0/0niGTXa5GgXBXYGS2he4LQGgSBfGp/cTwMU
33
+ rDKJRcusZ12lNBeDfgqACz/BBJF8FLodgk6rGMRZz7+ZmjjHEmpG5bQpR6Q2BuWL
34
+ XMtYk/QzaWuhiR7pWjiF8jbdd7RO6or0ohq7iFkokz/5xrtQ/vPzU2RQ3Qc6YaKw
35
+ 3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
+ gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
30
37
  -----END CERTIFICATE-----
31
- date: 2023-02-19 00:00:00.000000000 Z
38
+ date: 2023-04-10 00:00:00.000000000 Z
32
39
  dependencies:
33
40
  - !ruby/object:Gem::Dependency
34
41
  name: cogger
@@ -114,20 +121,6 @@ dependencies:
114
121
  - - "~>"
115
122
  - !ruby/object:Gem::Version
116
123
  version: '15.2'
117
- - !ruby/object:Gem::Dependency
118
- name: pastel
119
- requirement: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - "~>"
122
- - !ruby/object:Gem::Version
123
- version: '0.8'
124
- type: :runtime
125
- prerelease: false
126
- version_requirements: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "~>"
129
- - !ruby/object:Gem::Version
130
- version: '0.8'
131
124
  - !ruby/object:Gem::Dependency
132
125
  name: pragmater
133
126
  requirement: !ruby/object:Gem::Requirement
@@ -212,6 +205,20 @@ dependencies:
212
205
  - - "~>"
213
206
  - !ruby/object:Gem::Version
214
207
  version: '15.1'
208
+ - !ruby/object:Gem::Dependency
209
+ name: tone
210
+ requirement: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '0.1'
215
+ type: :runtime
216
+ prerelease: false
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - "~>"
220
+ - !ruby/object:Gem::Version
221
+ version: '0.1'
215
222
  - !ruby/object:Gem::Dependency
216
223
  name: zeitwerk
217
224
  requirement: !ruby/object:Gem::Requirement
@@ -352,7 +359,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
352
359
  - !ruby/object:Gem::Version
353
360
  version: '0'
354
361
  requirements: []
355
- rubygems_version: 3.4.7
362
+ rubygems_version: 3.4.10
356
363
  signing_key:
357
364
  specification_version: 4
358
365
  summary: A command line interface for smithing Ruby projects.
metadata.gz.sig CHANGED
Binary file