rubysmith 4.6.1 → 4.8.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: 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