rubysmith 8.1.0 → 8.3.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +6 -1
- data/lib/rubysmith/builders/bundler.rb +1 -1
- data/lib/rubysmith/builders/rspec/helper.rb +1 -0
- data/lib/rubysmith/cli/actions/monads.rb +22 -0
- data/lib/rubysmith/cli/commands/build.rb +1 -0
- data/lib/rubysmith/configuration/contract.rb +1 -0
- data/lib/rubysmith/configuration/defaults.yml +1 -0
- data/lib/rubysmith/configuration/model.rb +1 -0
- data/lib/rubysmith/container.rb +1 -1
- data/lib/rubysmith/templates/%project_name%/.dockerignore.erb +31 -3
- data/lib/rubysmith/templates/%project_name%/.github/workflows/ci.yml.erb +5 -0
- data/lib/rubysmith/templates/%project_name%/Gemfile.erb +5 -2
- data/lib/rubysmith/templates/%project_name%/bin/docker/build.erb +12 -12
- data/lib/rubysmith/templates/%project_name%/bin/docker/console.erb +12 -12
- data/lib/rubysmith/templates/%project_name%/spec/spec_helper.rb.erb +7 -0
- data/rubysmith.gemspec +3 -3
- data.tar.gz.sig +0 -0
- metadata +21 -21
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd6a42778f27b98366b646d9792a78881167380259e3a119aaca2050edd1093d
|
4
|
+
data.tar.gz: c12587b7de5a5bd08be4320df3fd0b14787e0e09820ec49513ca8110cf598f60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d172cda7ebd0c06ff672f3cdece7b1fb75702370e2e407ef911dcfbfe9fc02e8c2efff1c75b6af99e2dcdf66ea816271bf29a49cdbadeb6c571be37553c74e84
|
7
|
+
data.tar.gz: 3d29fd932b240572753f4b1dcc1a17ca8c29c31b6fa7becf59efb52f02bacd40c9057215d69ae3162561df04714e2128c657fa68e1f992efb39c9fc028710200
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -248,7 +248,7 @@ The `--git` option allows you add link:https://git-scm.com[Git] repository suppo
|
|
248
248
|
===== GitHub
|
249
249
|
|
250
250
|
The `--git_hub` option allows you add link:https://github.com[GitHub] templates to your project for
|
251
|
-
issues and pull requests. This adds the following
|
251
|
+
issues and pull requests. This adds the following files when enabled:
|
252
252
|
|
253
253
|
....
|
254
254
|
├── .github
|
@@ -289,6 +289,10 @@ to build a new project without having to pick and choose.
|
|
289
289
|
|
290
290
|
The `--min` option allows you to build your project with _all options disabled_. This is a quick way to build a new project with the bare minimum of support which is a one step above reaching for a {bundler_inline_link} script.
|
291
291
|
|
292
|
+
===== Monads
|
293
|
+
|
294
|
+
The `--monads` option allows you to add the link:https://dry-rb.org/gems/dry-monads[Dry Monads] gem to your project for building more functional and fault tolerant objects.
|
295
|
+
|
292
296
|
===== Rake
|
293
297
|
|
294
298
|
The `--rake` option allows you to add the link:https://github.com/ruby/rake[Rake] gem for quickly
|
@@ -401,6 +405,7 @@ build:
|
|
401
405
|
license: true
|
402
406
|
maximum: false
|
403
407
|
minimum: false
|
408
|
+
monads: false
|
404
409
|
rake: true
|
405
410
|
readme: true
|
406
411
|
reek: true
|
@@ -13,7 +13,7 @@ module Rubysmith
|
|
13
13
|
.render
|
14
14
|
.replace(/\n\s+group/, "\n\ngroup")
|
15
15
|
.replace(/\n\s+gem/, "\n gem")
|
16
|
-
.replace(/ (?=.+(bootsnap|refinements|zeitwerk))/, "")
|
16
|
+
.replace(/ (?=.+(bootsnap|dry-monads|refinements|zeitwerk))/, "")
|
17
17
|
.replace(/(\n+|\s+)end/, "\nend")
|
18
18
|
.replace(/\n\ngroup :(quality|development|test|tools) do\nend/, "")
|
19
19
|
.replace(/org"\n+/, "org\"\n\n")
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "sod"
|
4
|
+
|
5
|
+
module Rubysmith
|
6
|
+
module CLI
|
7
|
+
module Actions
|
8
|
+
# Stores monads flag.
|
9
|
+
class Monads < Sod::Action
|
10
|
+
include Dependencies[:settings]
|
11
|
+
|
12
|
+
description "Add Dry Monads gem."
|
13
|
+
|
14
|
+
on "--[no-]monads"
|
15
|
+
|
16
|
+
default { Container[:settings].build_monads }
|
17
|
+
|
18
|
+
def call(boolean) = settings.build_monads = boolean
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -36,6 +36,7 @@ module Rubysmith
|
|
36
36
|
required(:build_license).filled :bool
|
37
37
|
required(:build_maximum).filled :bool
|
38
38
|
required(:build_minimum).filled :bool
|
39
|
+
required(:build_monads).filled :bool
|
39
40
|
required(:build_rake).filled :bool
|
40
41
|
required(:build_readme).filled :bool
|
41
42
|
required(:build_reek).filled :bool
|
data/lib/rubysmith/container.rb
CHANGED
@@ -12,7 +12,7 @@ module Rubysmith
|
|
12
12
|
module Container
|
13
13
|
extend Containable
|
14
14
|
|
15
|
-
register :registry do
|
15
|
+
register :registry, as: :fresh do
|
16
16
|
Etcher::Registry.new(contract: Configuration::Contract, model: Configuration::Model)
|
17
17
|
.add_loader(:yaml, self[:defaults_path])
|
18
18
|
.add_loader(:yaml, self[:xdg_config].active)
|
@@ -1,6 +1,3 @@
|
|
1
|
-
# Assets
|
2
|
-
/node_modules/
|
3
|
-
|
4
1
|
# Bin
|
5
2
|
/bin
|
6
3
|
!/bin/console
|
@@ -9,6 +6,15 @@
|
|
9
6
|
# Bundler
|
10
7
|
/.bundle
|
11
8
|
|
9
|
+
# Circle CI
|
10
|
+
/.circleci
|
11
|
+
|
12
|
+
# CTags
|
13
|
+
/tags
|
14
|
+
|
15
|
+
# Database
|
16
|
+
/db/*.sqlite
|
17
|
+
|
12
18
|
# Development
|
13
19
|
/.devcontainer
|
14
20
|
|
@@ -16,6 +22,10 @@
|
|
16
22
|
/.dockerignore
|
17
23
|
/Dockerfile*
|
18
24
|
|
25
|
+
# Documentation
|
26
|
+
/*.adoc
|
27
|
+
/*.md
|
28
|
+
|
19
29
|
# Environment
|
20
30
|
/.env*
|
21
31
|
|
@@ -29,6 +39,24 @@
|
|
29
39
|
# Log
|
30
40
|
/log/
|
31
41
|
|
42
|
+
# Node
|
43
|
+
/node_modules/
|
44
|
+
|
45
|
+
# Overmind
|
46
|
+
/.overmind.sock
|
47
|
+
|
48
|
+
# Procfile
|
49
|
+
Procfile.dev
|
50
|
+
|
51
|
+
# Reek
|
52
|
+
/.reek.yml
|
53
|
+
|
54
|
+
# RSpec
|
55
|
+
/spec
|
56
|
+
|
57
|
+
# SimpleCov
|
58
|
+
/coverage
|
59
|
+
|
32
60
|
# Temp
|
33
61
|
/tmp/
|
34
62
|
|
@@ -5,6 +5,9 @@ source "https://rubygems.org"
|
|
5
5
|
<% if settings.build_bootsnap %>
|
6
6
|
gem "bootsnap", "~> 1.18"
|
7
7
|
<% end %>
|
8
|
+
<% if settings.build_monads %>
|
9
|
+
gem "dry-monads", "~> 1.8"
|
10
|
+
<% end %>
|
8
11
|
<% if settings.build_refinements %>
|
9
12
|
gem "refinements", "~> 13.0"
|
10
13
|
<% end %>
|
@@ -14,13 +17,13 @@ source "https://rubygems.org"
|
|
14
17
|
|
15
18
|
group :quality do
|
16
19
|
<% if settings.build_caliber %>
|
17
|
-
gem "caliber", "~> 0.
|
20
|
+
gem "caliber", "~> 0.79"
|
18
21
|
<% end %>
|
19
22
|
<% if settings.build_git && settings.build_git_lint %>
|
20
23
|
gem "git-lint", "~> 9.0"
|
21
24
|
<% end %>
|
22
25
|
<% if settings.build_reek %>
|
23
|
-
gem "reek", "~> 6.
|
26
|
+
gem "reek", "~> 6.5", require: false
|
24
27
|
<% end %>
|
25
28
|
<% if settings.build_simple_cov %>
|
26
29
|
gem "simplecov", "~> 0.22", require: false
|
@@ -1,15 +1,15 @@
|
|
1
|
-
#! /usr/bin/env
|
1
|
+
#! /usr/bin/env bash
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
set -o nounset
|
4
|
+
set -o errexit
|
5
|
+
set -o pipefail
|
6
|
+
IFS=$'\n\t'
|
5
7
|
|
6
|
-
version
|
8
|
+
read -r version < ".ruby-version"
|
7
9
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
#{Bundler.root}
|
15
|
-
COMMAND
|
10
|
+
docker buildx \
|
11
|
+
build \
|
12
|
+
--load \
|
13
|
+
--build-arg RUBY_VERSION="${version}" \
|
14
|
+
--tag <%= settings.project_name %>:latest \
|
15
|
+
"$(pwd)"
|
@@ -1,14 +1,14 @@
|
|
1
|
-
#! /usr/bin/env
|
1
|
+
#! /usr/bin/env bash
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
set -o nounset
|
4
|
+
set -o errexit
|
5
|
+
set -o pipefail
|
6
|
+
IFS=$'\n\t'
|
5
7
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
bash
|
14
|
-
COMMAND
|
8
|
+
docker run \
|
9
|
+
--disable-content-trust \
|
10
|
+
--pull never \
|
11
|
+
--interactive \
|
12
|
+
--tty \
|
13
|
+
--rm <%= settings.project_name %>:latest \
|
14
|
+
bash
|
@@ -14,6 +14,9 @@ end
|
|
14
14
|
Bundler.require :tools
|
15
15
|
|
16
16
|
require "<%= settings.project_path %>"
|
17
|
+
<% if settings.build_monads %>
|
18
|
+
require "dry/monads"
|
19
|
+
<% end %>
|
17
20
|
<% if settings.build_refinements %>
|
18
21
|
require "refinements"
|
19
22
|
<% end %>
|
@@ -51,4 +54,8 @@ RSpec.configure do |config|
|
|
51
54
|
mocks.verify_doubled_constant_names = true
|
52
55
|
mocks.verify_partial_doubles = true
|
53
56
|
end
|
57
|
+
|
58
|
+
<% if settings.build_monads %>
|
59
|
+
config.before(:suite) { Dry::Monads.load_extensions :rspec }
|
60
|
+
<% end %>
|
54
61
|
end
|
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 = "8.
|
5
|
+
spec.version = "8.3.0"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
8
|
spec.homepage = "https://alchemists.io/projects/rubysmith"
|
@@ -25,14 +25,14 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.required_ruby_version = "~> 3.4"
|
26
26
|
spec.add_dependency "cogger", "~> 1.0"
|
27
27
|
spec.add_dependency "containable", "~> 1.1"
|
28
|
-
spec.add_dependency "dry-monads", "~> 1.
|
28
|
+
spec.add_dependency "dry-monads", "~> 1.8"
|
29
29
|
spec.add_dependency "dry-schema", "~> 1.13"
|
30
30
|
spec.add_dependency "etcher", "~> 3.0"
|
31
31
|
spec.add_dependency "gitt", "~> 4.1"
|
32
32
|
spec.add_dependency "infusible", "~> 4.0"
|
33
33
|
spec.add_dependency "pragmater", "~> 16.0"
|
34
34
|
spec.add_dependency "refinements", "~> 13.0"
|
35
|
-
spec.add_dependency "rubocop", "~> 1.
|
35
|
+
spec.add_dependency "rubocop", "~> 1.75"
|
36
36
|
spec.add_dependency "runcom", "~> 12.0"
|
37
37
|
spec.add_dependency "sod", "~> 1.0"
|
38
38
|
spec.add_dependency "spek", "~> 4.0"
|
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: 8.
|
4
|
+
version: 8.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -9,9 +9,9 @@ bindir: exe
|
|
9
9
|
cert_chain:
|
10
10
|
- |
|
11
11
|
-----BEGIN CERTIFICATE-----
|
12
|
-
|
12
|
+
MIIENjCCAp6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
|
13
13
|
a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
|
14
|
-
|
14
|
+
aW8wHhcNMjUwMzIyMTQ1NDE3WhcNMjYwMzIyMTQ1NDE3WjBBMQ8wDQYDVQQDDAZi
|
15
15
|
cm9va2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQB
|
16
16
|
GRYCaW8wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCro8tj5/E1Hg88
|
17
17
|
f4qfiwPVd2zJQHvdYt4GHVvuHRRgx4HGhJuNp+4BId08RBn7V6V1MW6MY3kezRBs
|
@@ -21,20 +21,19 @@ cert_chain:
|
|
21
21
|
QzzPxZBiRB1sgtbt1gUbVI262ZDq1gR+HxPFmp+Cgt7ZLIJZAtesQvtcMzseXpfn
|
22
22
|
hpmm0Sw22KGhRAy/mqHBRhDl5HqS1SJp2Ko3lcnpXeFResp0HNlt8NSu13vhC08j
|
23
23
|
GUHU9MyIXbFOsnp3K3ADrAVjPWop8EZkmUR3MV/CUm00w2cZHCSGiXl1KMpiVKvk
|
24
|
-
Ywr1gd2ZME4QLSo+EXUtLxDUa/
|
24
|
+
Ywr1gd2ZME4QLSo+EXUtLxDUa/W3xnBS8dBOuMMz02FPWYr3PN8CAwEAAaM5MDcw
|
25
25
|
CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFAFgmv0tYMZnItuPycSM
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
|
26
|
+
F5wykJEVMA0GCSqGSIb3DQEBCwUAA4IBgQBlzRfyAYx/fCFjizS0Npxw4+4T3aYL
|
27
|
+
hbXoDqQRWjxuhFZcXUymhz3r8/Ltyri9lSof8grzB+8/+mrMVms7Gwt5qolk6zdn
|
28
|
+
FkySGy/jmpN12ldOHFbBEnyVBZNBvOBVb8zkkw8PhiHdBdXOUm4Jy39yJvBLfjcC
|
29
|
+
iM1aeWPmgPy1GbvZU+leRGZLt6dRIR9oCDXcWLRjha8xLMoz6Yn9fJBYexBA3iEz
|
30
|
+
h5S7pn4AX/JhVRiSyl8pAy4jEKydpyQrliH3gHkpNmUS/XDczP+9xX1bAB4BvqL2
|
31
|
+
NCxMcQ+hiJNqCKpPgHxaOOHZfIxV33logIuPEQ8NryHAwZ9ZWnwtYDE8kQGGKskI
|
32
|
+
Kkm6QT474hZl7MpwiJjWgW313CR7jUEekQahX1QxCxHPI7LSrKpno0plH3uWIOQp
|
33
|
+
KUlkb9uyACBgyRO52ZHiDVI8YvtU5O/j9pSes9/3XgvBeC1onx4qWp+uRX7eVsYS
|
34
|
+
GiijocTc3enZVrXERetaXj8/9XWs3fB3HWY=
|
36
35
|
-----END CERTIFICATE-----
|
37
|
-
date:
|
36
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
38
37
|
dependencies:
|
39
38
|
- !ruby/object:Gem::Dependency
|
40
39
|
name: cogger
|
@@ -70,14 +69,14 @@ dependencies:
|
|
70
69
|
requirements:
|
71
70
|
- - "~>"
|
72
71
|
- !ruby/object:Gem::Version
|
73
|
-
version: '1.
|
72
|
+
version: '1.8'
|
74
73
|
type: :runtime
|
75
74
|
prerelease: false
|
76
75
|
version_requirements: !ruby/object:Gem::Requirement
|
77
76
|
requirements:
|
78
77
|
- - "~>"
|
79
78
|
- !ruby/object:Gem::Version
|
80
|
-
version: '1.
|
79
|
+
version: '1.8'
|
81
80
|
- !ruby/object:Gem::Dependency
|
82
81
|
name: dry-schema
|
83
82
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,14 +167,14 @@ dependencies:
|
|
168
167
|
requirements:
|
169
168
|
- - "~>"
|
170
169
|
- !ruby/object:Gem::Version
|
171
|
-
version: '1.
|
170
|
+
version: '1.75'
|
172
171
|
type: :runtime
|
173
172
|
prerelease: false
|
174
173
|
version_requirements: !ruby/object:Gem::Requirement
|
175
174
|
requirements:
|
176
175
|
- - "~>"
|
177
176
|
- !ruby/object:Gem::Version
|
178
|
-
version: '1.
|
177
|
+
version: '1.75'
|
179
178
|
- !ruby/object:Gem::Dependency
|
180
179
|
name: runcom
|
181
180
|
requirement: !ruby/object:Gem::Requirement
|
@@ -266,8 +265,8 @@ executables:
|
|
266
265
|
- rubysmith
|
267
266
|
extensions: []
|
268
267
|
extra_rdoc_files:
|
269
|
-
- README.adoc
|
270
268
|
- LICENSE.adoc
|
269
|
+
- README.adoc
|
271
270
|
files:
|
272
271
|
- LICENSE.adoc
|
273
272
|
- README.adoc
|
@@ -330,6 +329,7 @@ files:
|
|
330
329
|
- lib/rubysmith/cli/actions/license.rb
|
331
330
|
- lib/rubysmith/cli/actions/maximum.rb
|
332
331
|
- lib/rubysmith/cli/actions/minimum.rb
|
332
|
+
- lib/rubysmith/cli/actions/monads.rb
|
333
333
|
- lib/rubysmith/cli/actions/name.rb
|
334
334
|
- lib/rubysmith/cli/actions/rake.rb
|
335
335
|
- lib/rubysmith/cli/actions/readme.rb
|
@@ -428,7 +428,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
428
428
|
- !ruby/object:Gem::Version
|
429
429
|
version: '0'
|
430
430
|
requirements: []
|
431
|
-
rubygems_version: 3.6.
|
431
|
+
rubygems_version: 3.6.7
|
432
432
|
specification_version: 4
|
433
433
|
summary: A command line interface for smithing Ruby projects.
|
434
434
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|