rubysmith 4.6.1 → 4.8.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: 14abdb46bfc1c848788bebbaec774cc21c24387a608d4ea3db49764a1c760c22
4
- data.tar.gz: 488f4f6258f31569a43b1b4fbb59ad68848c867787a02b3e77d571681a5fc1b1
3
+ metadata.gz: d17f4dfd4ea506163e0120487f5ad131eda3298127118c9fead790a7bf5ae4e2
4
+ data.tar.gz: 9d2a3ba977d6cf8373f9dc4c05e38c0979c64062353419bee51607a41b1aa4fb
5
5
  SHA512:
6
- metadata.gz: 104259123c461dc9c8e6569845020c729f732e0c380d361dce7f35d88c060c59520e228c5d8ee0529d7bb6e7af7efc29ec208ccc7ad6887f0516cbaec92e96f1
7
- data.tar.gz: d4b6c91425905a429b9aa708e0566338067f1d03fa6bc458690235bb62b44d23c6d4548c6b5be5195bdcf48eff25878f8d79a4df2b1826bf0da1a7beaf5ac4c8
6
+ metadata.gz: f05329534d48a3a39b6056f7638c5f6e7f02659275dfc527455fcd0e94c1dd730bf2683b115f99784028a5b88d972100e494de69ee36c3038aae4a96535fe8fc
7
+ data.tar.gz: 6a59338a08ddc6d7fbef175847a70a9c52f01c96a053c3a4a089fec0525d6f56b4f81819025fcd291f6f39f40e6ca19c4ce01f4eebb91db6e4c57a9d49e83210
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,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
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module CLI
8
8
  # The main Command Line Interface (CLI) object.
9
9
  class Shell
10
- include Actions::Import[:config, :build, :publish, :specification, :logger]
10
+ include Actions::Import[:config, :build, :kernel, :logger, :publish, :specification]
11
11
 
12
12
  def initialize(parser: Parser.new, **)
13
13
  super(**)
@@ -29,8 +29,8 @@ module Rubysmith
29
29
  in action_config: Symbol => action then config.call action
30
30
  in action_build: true then build.call configuration
31
31
  in action_publish: true then publish.call configuration
32
- in action_version: true then logger.info { specification.labeled_version }
33
- else logger.any { parser.to_s }
32
+ in action_version: true then kernel.puts specification.labeled_version
33
+ else kernel.puts parser.to_s
34
34
  end
35
35
  end
36
36
  end
@@ -2,18 +2,18 @@
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 }
17
- register(:logger) { Cogger::Client.new }
17
+ register(:logger) { Cogger.new formatter: :emoji }
18
18
  end
19
19
  end
@@ -1,3 +1,7 @@
1
1
  exclude_paths:
2
2
  - tmp
3
3
  - vendor
4
+
5
+ detectors:
6
+ LongParameterList:
7
+ enabled: false
@@ -11,7 +11,7 @@ source "https://rubygems.org"
11
11
 
12
12
  group :code_quality do
13
13
  <% if configuration.build_caliber %>
14
- gem "caliber", "~> 0.25"
14
+ gem "caliber", "~> 0.30"
15
15
  <% end %>
16
16
  <% if configuration.build_git && configuration.build_git_lint %>
17
17
  gem "git-lint", "~> 5.0"
@@ -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
 
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.1"
5
+ spec.version = "4.8.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://github.com/bkuhlmann/rubysmith"
@@ -23,19 +23,19 @@ Gem::Specification.new do |spec|
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
25
  spec.required_ruby_version = "~> 3.2"
26
- spec.add_dependency "cogger", "~> 0.5"
26
+ spec.add_dependency "cogger", "~> 0.8"
27
27
  spec.add_dependency "core", "~> 0.1"
28
28
  spec.add_dependency "dry-container", "~> 0.11"
29
29
  spec.add_dependency "gitt", "~> 1.1"
30
30
  spec.add_dependency "infusible", "~> 1.0"
31
- spec.add_dependency "milestoner", "~> 15.2"
32
- spec.add_dependency "pastel", "~> 0.8"
33
- spec.add_dependency "pragmater", "~> 12.1"
31
+ spec.add_dependency "milestoner", "~> 15.3"
32
+ spec.add_dependency "pragmater", "~> 12.2"
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
- spec.add_dependency "tocer", "~> 15.1"
37
+ spec.add_dependency "tocer", "~> 15.2"
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.1
4
+ version: 4.8.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-03-07 00:00:00.000000000 Z
38
+ date: 2023-04-13 00:00:00.000000000 Z
32
39
  dependencies:
33
40
  - !ruby/object:Gem::Dependency
34
41
  name: cogger
@@ -36,14 +43,14 @@ dependencies:
36
43
  requirements:
37
44
  - - "~>"
38
45
  - !ruby/object:Gem::Version
39
- version: '0.5'
46
+ version: '0.8'
40
47
  type: :runtime
41
48
  prerelease: false
42
49
  version_requirements: !ruby/object:Gem::Requirement
43
50
  requirements:
44
51
  - - "~>"
45
52
  - !ruby/object:Gem::Version
46
- version: '0.5'
53
+ version: '0.8'
47
54
  - !ruby/object:Gem::Dependency
48
55
  name: core
49
56
  requirement: !ruby/object:Gem::Requirement
@@ -106,42 +113,28 @@ dependencies:
106
113
  requirements:
107
114
  - - "~>"
108
115
  - !ruby/object:Gem::Version
109
- version: '15.2'
110
- type: :runtime
111
- prerelease: false
112
- version_requirements: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - "~>"
115
- - !ruby/object:Gem::Version
116
- 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'
116
+ version: '15.3'
124
117
  type: :runtime
125
118
  prerelease: false
126
119
  version_requirements: !ruby/object:Gem::Requirement
127
120
  requirements:
128
121
  - - "~>"
129
122
  - !ruby/object:Gem::Version
130
- version: '0.8'
123
+ version: '15.3'
131
124
  - !ruby/object:Gem::Dependency
132
125
  name: pragmater
133
126
  requirement: !ruby/object:Gem::Requirement
134
127
  requirements:
135
128
  - - "~>"
136
129
  - !ruby/object:Gem::Version
137
- version: '12.1'
130
+ version: '12.2'
138
131
  type: :runtime
139
132
  prerelease: false
140
133
  version_requirements: !ruby/object:Gem::Requirement
141
134
  requirements:
142
135
  - - "~>"
143
136
  - !ruby/object:Gem::Version
144
- version: '12.1'
137
+ version: '12.2'
145
138
  - !ruby/object:Gem::Dependency
146
139
  name: refinements
147
140
  requirement: !ruby/object:Gem::Requirement
@@ -204,14 +197,28 @@ dependencies:
204
197
  requirements:
205
198
  - - "~>"
206
199
  - !ruby/object:Gem::Version
207
- version: '15.1'
200
+ version: '15.2'
201
+ type: :runtime
202
+ prerelease: false
203
+ version_requirements: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: '15.2'
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'
208
215
  type: :runtime
209
216
  prerelease: false
210
217
  version_requirements: !ruby/object:Gem::Requirement
211
218
  requirements:
212
219
  - - "~>"
213
220
  - !ruby/object:Gem::Version
214
- version: '15.1'
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.12
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