rubysmith 8.2.0 → 8.4.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: bcda1b8aa0223d70b9a4873822fa51d544e0a24fe8329652c83386c0f697bfac
4
- data.tar.gz: d30ea434a25604fd8940e3a8741d9261742adb8a801daeb2310972bc7dfd9634
3
+ metadata.gz: f0c310e47d2ae686beb6b1c0fc2e241f6637943135a470e4a83803f783240800
4
+ data.tar.gz: 54ed1c800a37cd66057c139e8e03085bf5e639d86fb14a06b30d3451e5b140cb
5
5
  SHA512:
6
- metadata.gz: 91173630f6b177ccad91b2f5b42ad7fd425207d9e23111738b2db3b12be0f6fc7c94e188270a1c8ee8d5e4f0026087f0c784a4df489aa04879615df36db29314
7
- data.tar.gz: 4ccebc319eb883939968785a3349f292e2a85105ea858ae9ee9d5a3f26c13805e66c8f4f7f5770e278959cc846ce599123bbad87cf584f305d30534dcdf14619
6
+ metadata.gz: 196983d315c48684545b51764ed412b21072288534badc1166f937094a67951c3cb2bc02f034dff8f8024ed47b4837cad61aa3016d020b95e6f2beb50463b7eb
7
+ data.tar.gz: d15fb29e97c80134ca48dda5ce022867a57724a5ee405c13c5e7bed809f76bf776bc15836f91c4e1026c4c93d5b6604ecc0713b5f1a47d218d694d5e7945a7eb
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -3,7 +3,6 @@
3
3
  :figure-caption!:
4
4
 
5
5
  :bundler_inline_link: link:https://alchemists.io/articles/ruby_bundler_inline[Bundler Inline]
6
- :development_containers_link: link:https://containers.dev[Development Containers]
7
6
  :docker_alpine_ruby_link: link:https://alchemists.io/projects/docker-alpine-ruby[Docker Alpine Ruby]
8
7
  :docker_link: link:https://www.docker.com[Docker]
9
8
  :gemsmith_link: link:https://alchemists.io/projects/gemsmith[Gemsmith]
@@ -31,7 +30,6 @@ toc::[]
31
30
  * Supports link:https://orcid.org[Citations (ORCID)].
32
31
  * Supports console script for local development.
33
32
  * Supports link:https://github.com/ruby/debug[Debug].
34
- * Supports {development_containers_link}.
35
33
  * Supports {docker_link}.
36
34
  * Supports link:https://git-scm.com[Git].
37
35
  * Supports link:https://github.com[GitHub].
@@ -213,12 +211,15 @@ The `--docker` option allows you add {docker_link} to your project so you can bu
213
211
  │ │ ├── build # Use to build your production image for local use.
214
212
  │ │ ├── console # Use to interact with your production image.
215
213
  │ │ └── entrypoint # Conditionally enables jemalloc support.
216
- ├── .dockerignore # Defines the files/folders Docker should ignore.
217
- ├── Dockerfile # Defines how to build your production image.
214
+ ├── .dockerignore # Specifies files/folders Docker should ignore.
215
+ ├── compose.yml # Provides the Docker Compose configuration.
216
+ ├── Dockerfile # Provides the production build configuration for your image.
218
217
  ....
219
218
 
220
219
  ===== Development Containers
221
220
 
221
+ ⚠️ DEPRECATED: Will be removed in Version 9.0.0.
222
+
222
223
  The `--devcontainer` option allows you add {development_containers_link} support to your project so you can develop locally by running your project within a {docker_link} container. When enabled, these files will be added to your project:
223
224
 
224
225
  ....
@@ -248,7 +249,7 @@ The `--git` option allows you add link:https://git-scm.com[Git] repository suppo
248
249
  ===== GitHub
249
250
 
250
251
  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 fhile when enabled:
252
+ issues and pull requests. This adds the following files when enabled:
252
253
 
253
254
  ....
254
255
  ├── .github
@@ -289,6 +290,10 @@ to build a new project without having to pick and choose.
289
290
 
290
291
  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
292
 
293
+ ===== Monads
294
+
295
+ 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.
296
+
292
297
  ===== Rake
293
298
 
294
299
  The `--rake` option allows you to add the link:https://github.com/ruby/rake[Rake] gem for quickly
@@ -401,6 +406,7 @@ build:
401
406
  license: true
402
407
  maximum: false
403
408
  minimum: false
409
+ monads: false
404
410
  rake: true
405
411
  readme: true
406
412
  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,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "refinements/struct"
4
+
5
+ module Rubysmith
6
+ module Builders
7
+ module Docker
8
+ # Builds Docker compose configuration.
9
+ class Compose < Abstract
10
+ using Refinements::Struct
11
+
12
+ def call
13
+ return false unless settings.build_docker
14
+
15
+ builder.call(settings.merge(template_path: "%project_name%/compose.yml.erb")).render
16
+ true
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -16,6 +16,7 @@ module Rubysmith
16
16
  .render
17
17
  .replace(/\A\n/, "")
18
18
  .replace("\n\n\n", "\n\n")
19
+ .replace("\n \n", "\n")
19
20
 
20
21
  true
21
22
  end
@@ -7,15 +7,20 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Development Container flag.
9
9
  class DevContainer < Sod::Action
10
- include Dependencies[:settings]
10
+ include Dependencies[:settings, :logger]
11
11
 
12
12
  description "Add Development Container support."
13
13
 
14
+ ancillary "DEPRECATED: Will be removed in Version 9.0.0."
15
+
14
16
  on "--[no-]devcontainer"
15
17
 
16
18
  default { Container[:settings].build_devcontainer }
17
19
 
18
- def call(boolean) = settings.build_devcontainer = boolean
20
+ def call boolean
21
+ logger.warn { "Dev Container support will be removed in Version 9.0.0." }
22
+ settings.build_devcontainer = boolean
23
+ end
19
24
  end
20
25
  end
21
26
  end
@@ -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
@@ -42,6 +42,7 @@ module Rubysmith
42
42
  Builders::Docker::Build,
43
43
  Builders::Docker::Console,
44
44
  Builders::Docker::Entrypoint,
45
+ Builders::Docker::Compose,
45
46
  Builders::Docker::File,
46
47
  Builders::Docker::Ignore,
47
48
  Extensions::Bundler,
@@ -78,6 +79,7 @@ module Rubysmith
78
79
  on Actions::License
79
80
  on Actions::Maximum
80
81
  on Actions::Minimum
82
+ on Actions::Monads
81
83
  on Actions::Rake
82
84
  on Actions::Readme
83
85
  on Actions::Reek
@@ -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
@@ -25,6 +25,7 @@ build:
25
25
  license: true
26
26
  maximum: false
27
27
  minimum: false
28
+ monads: false
28
29
  rake: true
29
30
  readme: true
30
31
  reek: true
@@ -37,6 +37,7 @@ module Rubysmith
37
37
  :build_license,
38
38
  :build_maximum,
39
39
  :build_minimum,
40
+ :build_monads,
40
41
  :build_rake,
41
42
  :build_readme,
42
43
  :build_reek,
@@ -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.74"
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.4", require: false
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
@@ -44,7 +47,7 @@ end
44
47
 
45
48
  group :tools do
46
49
  <% if settings.build_amazing_print %>
47
- gem "amazing_print", "~> 1.7"
50
+ gem "amazing_print", "~> 1.8"
48
51
  <% end %>
49
52
  <% if settings.build_debug %>
50
53
  gem "debug", "~> 1.10"
@@ -0,0 +1,15 @@
1
+ name: "<%= settings.project_name %>"
2
+
3
+ services:
4
+ web:
5
+ init: true
6
+ build:
7
+ context: .
8
+ ports:
9
+ - "2300:2300"
10
+ restart: unless-stopped
11
+ deploy:
12
+ resources:
13
+ limits:
14
+ memory: 1G
15
+ cpus: "1.0"
@@ -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.2.0"
5
+ spec.version = "8.4.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.6"
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.72"
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.2.0
4
+ version: 8.4.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
- MIIEeDCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
12
+ MIIENjCCAp6gAwIBAgIBAjANBgkqhkiG9w0BAQsFADBBMQ8wDQYDVQQDDAZicm9v
13
13
  a2UxGjAYBgoJkiaJk/IsZAEZFgphbGNoZW1pc3RzMRIwEAYKCZImiZPyLGQBGRYC
14
- aW8wHhcNMjMwMzIyMTYxNDQxWhcNMjUwMzIxMTYxNDQxWjBBMQ8wDQYDVQQDDAZi
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/W3xnBS8dBOuMMz02FPWYr3PN8CAwEAAaN7MHkw
24
+ Ywr1gd2ZME4QLSo+EXUtLxDUa/W3xnBS8dBOuMMz02FPWYr3PN8CAwEAAaM5MDcw
25
25
  CQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFAFgmv0tYMZnItuPycSM
26
- F5wykJEVMB8GA1UdEQQYMBaBFGJyb29rZUBhbGNoZW1pc3RzLmlvMB8GA1UdEgQY
27
- MBaBFGJyb29rZUBhbGNoZW1pc3RzLmlvMA0GCSqGSIb3DQEBCwUAA4IBgQAX+EGY
28
- 9RLYGxF1VLZz+G1ACQc4uyrCB6kXwI06kzUa5dF9tPXqTX9ffnz3/W8ck2IQhKzu
29
- MKO2FVijzbDWTsZeZGglS4E+4Jxpau1lU9HhOIcKolv6LeC6UdALTFudY+GLb8Xw
30
- REXgaJkjzzhkUSILmEnRwEbY08dVSl7ZAaxVI679vfI2yapLlIwpbBgmQTiTvPr3
31
- qyyLUno9flYEOv9fmGHunSrM+gE0/0niGTXa5GgXBXYGS2he4LQGgSBfGp/cTwMU
32
- rDKJRcusZ12lNBeDfgqACz/BBJF8FLodgk6rGMRZz7+ZmjjHEmpG5bQpR6Q2BuWL
33
- XMtYk/QzaWuhiR7pWjiF8jbdd7RO6or0ohq7iFkokz/5xrtQ/vPzU2RQ3Qc6YaKw
34
- 3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
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: 2025-02-22 00:00:00.000000000 Z
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.6'
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.6'
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.72'
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.72'
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
@@ -284,6 +283,7 @@ files:
284
283
  - lib/rubysmith/builders/dev_container/configuration.rb
285
284
  - lib/rubysmith/builders/dev_container/dockerfile.rb
286
285
  - lib/rubysmith/builders/docker/build.rb
286
+ - lib/rubysmith/builders/docker/compose.rb
287
287
  - lib/rubysmith/builders/docker/console.rb
288
288
  - lib/rubysmith/builders/docker/entrypoint.rb
289
289
  - lib/rubysmith/builders/docker/file.rb
@@ -330,6 +330,7 @@ files:
330
330
  - lib/rubysmith/cli/actions/license.rb
331
331
  - lib/rubysmith/cli/actions/maximum.rb
332
332
  - lib/rubysmith/cli/actions/minimum.rb
333
+ - lib/rubysmith/cli/actions/monads.rb
333
334
  - lib/rubysmith/cli/actions/name.rb
334
335
  - lib/rubysmith/cli/actions/rake.rb
335
336
  - lib/rubysmith/cli/actions/readme.rb
@@ -397,6 +398,7 @@ files:
397
398
  - lib/rubysmith/templates/%project_name%/bin/rspec.erb
398
399
  - lib/rubysmith/templates/%project_name%/bin/rubocop.erb
399
400
  - lib/rubysmith/templates/%project_name%/bin/setup.erb
401
+ - lib/rubysmith/templates/%project_name%/compose.yml.erb
400
402
  - lib/rubysmith/templates/%project_name%/lib/%project_path%.rb.erb
401
403
  - lib/rubysmith/templates/%project_name%/spec/lib/%project_path%_spec.rb.erb
402
404
  - lib/rubysmith/templates/%project_name%/spec/spec_helper.rb.erb
@@ -428,7 +430,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
428
430
  - !ruby/object:Gem::Version
429
431
  version: '0'
430
432
  requirements: []
431
- rubygems_version: 3.6.5
433
+ rubygems_version: 3.6.9
432
434
  specification_version: 4
433
435
  summary: A command line interface for smithing Ruby projects.
434
436
  test_files: []
metadata.gz.sig CHANGED
Binary file