rubysmith 5.9.0 → 6.0.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 +3 -4
- data/README.adoc +1 -39
- data/lib/rubysmith/builder.rb +2 -2
- data/lib/rubysmith/builders/bundler.rb +3 -3
- data/lib/rubysmith/builders/caliber.rb +2 -2
- data/lib/rubysmith/builders/circle_ci.rb +2 -2
- data/lib/rubysmith/builders/console.rb +2 -2
- data/lib/rubysmith/builders/core.rb +4 -4
- data/lib/rubysmith/builders/documentation/citation.rb +2 -2
- data/lib/rubysmith/builders/documentation/license.rb +2 -2
- data/lib/rubysmith/builders/documentation/readme.rb +2 -2
- data/lib/rubysmith/builders/documentation/version.rb +2 -2
- data/lib/rubysmith/builders/git/ignore.rb +2 -2
- data/lib/rubysmith/builders/git/safe.rb +2 -2
- data/lib/rubysmith/builders/git_hub.rb +2 -2
- data/lib/rubysmith/builders/git_hub_ci.rb +2 -2
- data/lib/rubysmith/builders/guard.rb +2 -2
- data/lib/rubysmith/builders/init.rb +2 -2
- data/lib/rubysmith/builders/rake.rb +2 -2
- data/lib/rubysmith/builders/reek.rb +2 -2
- data/lib/rubysmith/builders/rspec/binstub.rb +2 -2
- data/lib/rubysmith/builders/rspec/context.rb +2 -2
- data/lib/rubysmith/builders/rspec/helper.rb +2 -2
- data/lib/rubysmith/builders/setup.rb +2 -2
- data/lib/rubysmith/builders/version.rb +2 -2
- data/lib/rubysmith/cli/actions/maximum.rb +2 -2
- data/lib/rubysmith/cli/actions/minimum.rb +2 -2
- data/lib/rubysmith/cli/actions/publish.rb +8 -5
- data/lib/rubysmith/cli/commands/build.rb +1 -2
- data/lib/rubysmith/configuration/contract.rb +0 -7
- data/lib/rubysmith/configuration/defaults.yml +0 -30
- data/lib/rubysmith/configuration/model.rb +6 -13
- data/lib/rubysmith/configuration/transformers/template_root.rb +2 -2
- data/lib/rubysmith/extensions/bundler.rb +4 -4
- data/lib/rubysmith/extensions/milestoner.rb +3 -16
- data/lib/rubysmith/extensions/pragmater.rb +3 -16
- data/lib/rubysmith/extensions/rubocop.rb +2 -2
- data/lib/rubysmith/extensions/tocer.rb +3 -16
- data/lib/rubysmith/pathway.rb +2 -2
- data/lib/rubysmith/renderers/namespace.rb +2 -2
- data/lib/rubysmith/templates/%project_name%/.circleci/config.yml.erb +1 -1
- data/lib/rubysmith/templates/%project_name%/.gitignore.erb +0 -6
- data/lib/rubysmith/templates/%project_name%/Gemfile.erb +8 -14
- data/lib/rubysmith/templates/%project_name%/Rakefile.erb +2 -11
- data/lib/rubysmith/templates/%project_name%/spec/spec_helper.rb.erb +1 -1
- data/lib/rubysmith/templates/%project_name%/spec/support/shared_contexts/temp_dir.rb.erb +1 -1
- data/rubysmith.gemspec +15 -15
- data.tar.gz.sig +0 -0
- metadata +30 -34
- metadata.gz.sig +0 -0
- data/lib/rubysmith/cli/actions/yard.rb +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 93c262c72026410ba6e824bd4b929c59b7fdad7e14c85e32296291f1f3c26b7d
|
4
|
+
data.tar.gz: 36f7597c6da34a8d8289bd9b12ea677ae4333b0aae65dd295f03ad1ac6fa37db
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c97d215e67d97574f0bde790e5a57e31a630d203deb7ad9c2fdcc9c5d37db225101d316d9bb759ae8826a5e7465a5cf946fef9508360c153e8eb3f47bc2f8884
|
7
|
+
data.tar.gz: 77ae12c7308be608744fd327af44a127d10c0fe5b9278b76fb93a5b7b601ea8cda18d0080010b2bb395e50fd85efaa901b82f6665e5babcbab8c9d49dfbc2c56
|
checksums.yaml.gz.sig
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
>!E����|60D)��T������\�E��
|
1
|
+
=�D��� �ѭ�_��*��~�>73� XK;�0<�peB5AS��Dw�eǼ�)�Q���5�
|
2
|
+
*2B�b�/���|��q���|t�y�Pk�#�B2/���oȅ�g�����������E9��.}��9��:��"�P�U������{���s:E�,���>\:'J�p%
|
3
|
+
gv���u+�HS��%�t�j�w�@|ȗ��s����X�G�Z ��g�����q�
|
data/README.adoc
CHANGED
@@ -35,7 +35,6 @@ toc::[]
|
|
35
35
|
* Supports link:https://rspec.info[RSpec].
|
36
36
|
* Supports setup script for project setup.
|
37
37
|
* Supports link:https://github.com/simplecov-ruby/simplecov[SimpleCov].
|
38
|
-
* Supports link:https://yardoc.org[YARD].
|
39
38
|
* Supports link:https://github.com/fxn/zeitwerk[Zeitwerk].
|
40
39
|
* Supports common settings and a structured layout for building projects.
|
41
40
|
* Provides common documentation:
|
@@ -76,7 +75,7 @@ gem install rubysmith
|
|
76
75
|
|
77
76
|
From the command line, type: `rubysmith --help`
|
78
77
|
|
79
|
-
image:https://alchemists.io/images/projects/rubysmith/screenshots/usage.png[Usage,width=
|
78
|
+
image:https://alchemists.io/images/projects/rubysmith/screenshots/usage.png[Usage,width=604,height=345,role=focal_point]
|
80
79
|
|
81
80
|
==== Build
|
82
81
|
|
@@ -264,13 +263,6 @@ analysis of what your quality of code is for the project.
|
|
264
263
|
The `--versions` option allows you add a `VERSIONS` file to your project to provide details about
|
265
264
|
all published versions of your project.
|
266
265
|
|
267
|
-
===== YARD
|
268
|
-
|
269
|
-
The `--yard` option allows you add the link:https://yardoc.org/[YARD] gem to your project so you can
|
270
|
-
automate the generation of project documentation. Once your project is built, you can use `rake
|
271
|
-
yard` to build documentation into the `doc/yard` folder. This folder is ignored by Git by default.
|
272
|
-
Additional customization is possible via the YARD Rake task as found in the `Rakefile`.
|
273
|
-
|
274
266
|
===== Zeitwerk
|
275
267
|
|
276
268
|
The `--zeitwerk` option allows you add the link:https://github.com/fxn/zeitwerk[Zeitwerk] gem to your project so you can reduce the maintenance burden of managing requirements when adding new objects to your project.
|
@@ -339,7 +331,6 @@ build:
|
|
339
331
|
setup: true
|
340
332
|
simple_cov: true
|
341
333
|
versions: true
|
342
|
-
yard: false
|
343
334
|
zeitwerk: true
|
344
335
|
citation:
|
345
336
|
affiliation:
|
@@ -347,35 +338,6 @@ citation:
|
|
347
338
|
orcid:
|
348
339
|
documentation:
|
349
340
|
format: "adoc"
|
350
|
-
extensions:
|
351
|
-
milestoner:
|
352
|
-
documentation:
|
353
|
-
format: "adoc"
|
354
|
-
prefixes:
|
355
|
-
- Fixed
|
356
|
-
- Added
|
357
|
-
- Updated
|
358
|
-
- Removed
|
359
|
-
- Refactored
|
360
|
-
pragmater:
|
361
|
-
comments:
|
362
|
-
- "# frozen_string_literal: true"
|
363
|
-
patterns:
|
364
|
-
- "**/*.rake"
|
365
|
-
- "**/*.rb"
|
366
|
-
- "*.gemspec"
|
367
|
-
- "exe/*"
|
368
|
-
- bin/console
|
369
|
-
- bin/guard
|
370
|
-
- bin/rubocop
|
371
|
-
- config.ru
|
372
|
-
- Gemfile
|
373
|
-
- Guardfile
|
374
|
-
- Rakefile
|
375
|
-
tocer:
|
376
|
-
label: "## Table of Contents"
|
377
|
-
patterns:
|
378
|
-
- "README.md"
|
379
341
|
git_hub:
|
380
342
|
user:
|
381
343
|
license:
|
data/lib/rubysmith/builder.rb
CHANGED
@@ -2,14 +2,14 @@
|
|
2
2
|
|
3
3
|
require "logger"
|
4
4
|
require "open3"
|
5
|
-
require "refinements/
|
5
|
+
require "refinements/pathname"
|
6
6
|
|
7
7
|
module Rubysmith
|
8
8
|
# Provides common functionality necessary for all builders.
|
9
9
|
class Builder
|
10
10
|
include Import[:kernel, :logger]
|
11
11
|
|
12
|
-
using Refinements::
|
12
|
+
using Refinements::Pathname
|
13
13
|
|
14
14
|
HELPERS = {inserter: Text::Inserter, renderer: Renderers::ERB, executor: Open3}.freeze
|
15
15
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
# Builds Bundler Gemfile configuration for project skeleton.
|
8
8
|
class Bundler
|
9
|
-
using Refinements::
|
9
|
+
using Refinements::Struct
|
10
10
|
|
11
11
|
def self.call(...) = new(...).call
|
12
12
|
|
@@ -22,7 +22,7 @@ module Rubysmith
|
|
22
22
|
.replace(/\n\s+gem/, "\n gem")
|
23
23
|
.replace(/ (?=.+(refinements|zeitwerk))/, "")
|
24
24
|
.replace(/(\n+|\s+)end/, "\nend")
|
25
|
-
.replace(/\n\ngroup :(
|
25
|
+
.replace(/\n\ngroup :(quality|development|test|tools) do\nend/, "")
|
26
26
|
.replace(/org"\n+/, "org\"\n\n")
|
27
27
|
|
28
28
|
configuration
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
# Builds project skeleton with Caliber style support.
|
8
8
|
class Caliber
|
9
|
-
using Refinements::
|
9
|
+
using Refinements::Struct
|
10
10
|
|
11
11
|
def self.call(...) = new(...).call
|
12
12
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
# Builds project skeleton Circle CI configuration.
|
8
8
|
class CircleCI
|
9
|
-
using Refinements::
|
9
|
+
using Refinements::Struct
|
10
10
|
|
11
11
|
def self.call(...) = new(...).call
|
12
12
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
# Builds project skeleton console for object inspection and exploration.
|
8
8
|
class Console
|
9
|
-
using Refinements::
|
9
|
+
using Refinements::Struct
|
10
10
|
|
11
11
|
def self.call(...) = new(...).call
|
12
12
|
|
@@ -1,14 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
4
|
-
require "refinements/
|
3
|
+
require "refinements/string"
|
4
|
+
require "refinements/struct"
|
5
5
|
|
6
6
|
module Rubysmith
|
7
7
|
module Builders
|
8
8
|
# Builds project skeleton core structure and minimum file support.
|
9
9
|
class Core
|
10
|
-
using Refinements::
|
11
|
-
using Refinements::
|
10
|
+
using Refinements::String
|
11
|
+
using Refinements::Struct
|
12
12
|
|
13
13
|
def self.call(...) = new(...).call
|
14
14
|
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
module Documentation
|
8
8
|
# Builds project skeleton citation documentation.
|
9
9
|
class Citation
|
10
|
-
using Refinements::
|
10
|
+
using Refinements::Struct
|
11
11
|
|
12
12
|
def self.call(...) = new(...).call
|
13
13
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
require "tocer"
|
5
5
|
|
6
6
|
module Rubysmith
|
@@ -8,7 +8,7 @@ module Rubysmith
|
|
8
8
|
module Documentation
|
9
9
|
# Builds project skeleton LICENSE documentation.
|
10
10
|
class License
|
11
|
-
using Refinements::
|
11
|
+
using Refinements::Struct
|
12
12
|
|
13
13
|
def self.call(...) = new(...).call
|
14
14
|
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
module Documentation
|
8
8
|
# Builds project skeleton README documentation.
|
9
9
|
class Readme
|
10
|
-
using Refinements::
|
10
|
+
using Refinements::Struct
|
11
11
|
|
12
12
|
def self.call(...) = new(...).call
|
13
13
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
require "tocer"
|
5
5
|
|
6
6
|
module Rubysmith
|
@@ -8,7 +8,7 @@ module Rubysmith
|
|
8
8
|
module Documentation
|
9
9
|
# Builds project skeleton version history.
|
10
10
|
class Version
|
11
|
-
using Refinements::
|
11
|
+
using Refinements::Struct
|
12
12
|
|
13
13
|
def self.call(...) = new(...).call
|
14
14
|
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
module Git
|
8
8
|
# Builds Git repository directory and file ignore configuration.
|
9
9
|
class Ignore
|
10
|
-
using Refinements::
|
10
|
+
using Refinements::Struct
|
11
11
|
|
12
12
|
def self.call(...) = new(...).call
|
13
13
|
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
module Git
|
8
8
|
# Initializes project skeleton with Git Safe support.
|
9
9
|
class Safe
|
10
|
-
using Refinements::
|
10
|
+
using Refinements::Struct
|
11
11
|
|
12
12
|
def self.call(...) = new(...).call
|
13
13
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
# Builds project skeleton GitHub templates.
|
8
8
|
class GitHub
|
9
|
-
using Refinements::
|
9
|
+
using Refinements::Struct
|
10
10
|
|
11
11
|
def self.call(...) = new(...).call
|
12
12
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
# Builds project skeleton GitHub CI template.
|
8
8
|
class GitHubCI
|
9
|
-
using Refinements::
|
9
|
+
using Refinements::Struct
|
10
10
|
|
11
11
|
def self.call(...) = new(...).call
|
12
12
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
# Builds project skeleton Guard support for a red, green, refactor loop.
|
8
8
|
class Guard
|
9
|
-
using Refinements::
|
9
|
+
using Refinements::Struct
|
10
10
|
|
11
11
|
def self.call(...) = new(...).call
|
12
12
|
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "pathname"
|
4
|
-
require "refinements/
|
4
|
+
require "refinements/struct"
|
5
5
|
|
6
6
|
module Rubysmith
|
7
7
|
module Builders
|
8
8
|
# Initializes building of project by checking for existence first.
|
9
9
|
class Init
|
10
|
-
using Refinements::
|
10
|
+
using Refinements::Struct
|
11
11
|
|
12
12
|
def self.call(...) = new(...).call
|
13
13
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
# Builds project skeleton Rake support.
|
8
8
|
class Rake
|
9
|
-
using Refinements::
|
9
|
+
using Refinements::Struct
|
10
10
|
|
11
11
|
def self.call(...) = new(...).call
|
12
12
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
# Builds project skeleton Reek code quality support.
|
8
8
|
class Reek
|
9
|
-
using Refinements::
|
9
|
+
using Refinements::Struct
|
10
10
|
|
11
11
|
def self.call(...) = new(...).call
|
12
12
|
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
module RSpec
|
8
8
|
# Builds RSpec binstub for project skeleton.
|
9
9
|
class Binstub
|
10
|
-
using Refinements::
|
10
|
+
using Refinements::Struct
|
11
11
|
|
12
12
|
def self.call(...) = new(...).call
|
13
13
|
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
module RSpec
|
8
8
|
# Builds RSpec shared context for temporary directories.
|
9
9
|
class Context
|
10
|
-
using Refinements::
|
10
|
+
using Refinements::Struct
|
11
11
|
|
12
12
|
def self.call(...) = new(...).call
|
13
13
|
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
module RSpec
|
8
8
|
# Builds RSpec spec helper for project skeleton.
|
9
9
|
class Helper
|
10
|
-
using Refinements::
|
10
|
+
using Refinements::Struct
|
11
11
|
|
12
12
|
def self.call(...) = new(...).call
|
13
13
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
# Builds project skeleton setup script.
|
8
8
|
class Setup
|
9
|
-
using Refinements::
|
9
|
+
using Refinements::Struct
|
10
10
|
|
11
11
|
def self.call(...) = new(...).call
|
12
12
|
|
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
|
5
5
|
module Rubysmith
|
6
6
|
module Builders
|
7
7
|
# Builds project skeleton Ruby version file.
|
8
8
|
class Version
|
9
|
-
using Refinements::
|
9
|
+
using Refinements::Struct
|
10
10
|
|
11
11
|
def self.call(...) = new(...).call
|
12
12
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
require "sod"
|
5
5
|
|
6
6
|
module Rubysmith
|
@@ -10,7 +10,7 @@ module Rubysmith
|
|
10
10
|
class Maximum < Sod::Action
|
11
11
|
include Import[:input]
|
12
12
|
|
13
|
-
using ::Refinements::
|
13
|
+
using ::Refinements::Struct
|
14
14
|
|
15
15
|
description "Use maximum options."
|
16
16
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
require "sod"
|
5
5
|
|
6
6
|
module Rubysmith
|
@@ -10,7 +10,7 @@ module Rubysmith
|
|
10
10
|
class Minimum < Sod::Action
|
11
11
|
include Import[:input]
|
12
12
|
|
13
|
-
using ::Refinements::
|
13
|
+
using ::Refinements::Struct
|
14
14
|
|
15
15
|
description "Use minimum options."
|
16
16
|
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "
|
3
|
+
require "milestoner"
|
4
|
+
require "refinements/struct"
|
4
5
|
require "sod"
|
5
6
|
|
6
7
|
module Rubysmith
|
@@ -10,18 +11,20 @@ module Rubysmith
|
|
10
11
|
class Publish < Sod::Action
|
11
12
|
include Import[:input]
|
12
13
|
|
13
|
-
using ::Refinements::
|
14
|
+
using ::Refinements::Struct
|
14
15
|
|
15
|
-
description "Publish
|
16
|
+
description "Publish milestone."
|
16
17
|
|
17
|
-
on %w[-p --publish], argument: "VERSION"
|
18
|
+
on %w[-p --publish], argument: "[VERSION]"
|
19
|
+
|
20
|
+
default { Milestoner::Commits::Versioner.new.call }
|
18
21
|
|
19
22
|
def initialize(extension: Extensions::Milestoner, **)
|
20
23
|
super(**)
|
21
24
|
@extension = extension
|
22
25
|
end
|
23
26
|
|
24
|
-
def call(version) = extension.call input.merge(project_version: version)
|
27
|
+
def call(version = nil) = extension.call input.merge(project_version: version || default)
|
25
28
|
|
26
29
|
private
|
27
30
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "refinements/
|
3
|
+
require "refinements/struct"
|
4
4
|
require "sod"
|
5
5
|
|
6
6
|
module Rubysmith
|
@@ -74,7 +74,6 @@ module Rubysmith
|
|
74
74
|
on Actions::Setup
|
75
75
|
on Actions::SimpleCov
|
76
76
|
on Actions::Versions
|
77
|
-
on Actions::Yard
|
78
77
|
on Actions::Zeitwerk
|
79
78
|
|
80
79
|
def initialize(builders: BUILDERS, **)
|
@@ -40,18 +40,11 @@ module Rubysmith
|
|
40
40
|
required(:build_setup).filled :bool
|
41
41
|
required(:build_simple_cov).filled :bool
|
42
42
|
required(:build_versions).filled :bool
|
43
|
-
required(:build_yard).filled :bool
|
44
43
|
required(:build_zeitwerk).filled :bool
|
45
44
|
optional(:citation_affiliation).filled :string
|
46
45
|
optional(:citation_message).filled :string
|
47
46
|
optional(:citation_orcid).filled :string
|
48
47
|
required(:documentation_format).filled :string
|
49
|
-
required(:extensions_milestoner_documentation_format).filled :string
|
50
|
-
required(:extensions_milestoner_prefixes).array :string
|
51
|
-
required(:extensions_pragmater_comments).array :string
|
52
|
-
required(:extensions_pragmater_patterns).array :string
|
53
|
-
required(:extensions_tocer_label).filled :string
|
54
|
-
required(:extensions_tocer_patterns).array :string
|
55
48
|
optional(:git_hub_user).filled :string
|
56
49
|
required(:license_label).filled :string
|
57
50
|
required(:license_name).filled :string
|
@@ -27,41 +27,11 @@ build:
|
|
27
27
|
setup: true
|
28
28
|
simple_cov: true
|
29
29
|
versions: true
|
30
|
-
yard: false
|
31
30
|
zeitwerk: true
|
32
31
|
citation:
|
33
32
|
message: Please use the following metadata when citing this project in your work.
|
34
33
|
documentation:
|
35
34
|
format: "adoc"
|
36
|
-
extensions:
|
37
|
-
milestoner:
|
38
|
-
documentation:
|
39
|
-
format: "adoc"
|
40
|
-
prefixes:
|
41
|
-
- Fixed
|
42
|
-
- Added
|
43
|
-
- Updated
|
44
|
-
- Removed
|
45
|
-
- Refactored
|
46
|
-
pragmater:
|
47
|
-
comments:
|
48
|
-
- "# frozen_string_literal: true"
|
49
|
-
patterns:
|
50
|
-
- "**/*.rake"
|
51
|
-
- "**/*.rb"
|
52
|
-
- "*.gemspec"
|
53
|
-
- "exe/*"
|
54
|
-
- bin/console
|
55
|
-
- bin/guard
|
56
|
-
- bin/rubocop
|
57
|
-
- config.ru
|
58
|
-
- Gemfile
|
59
|
-
- Guardfile
|
60
|
-
- Rakefile
|
61
|
-
tocer:
|
62
|
-
label: "## Table of Contents"
|
63
|
-
patterns:
|
64
|
-
- "README.md"
|
65
35
|
license:
|
66
36
|
label: Hippocratic
|
67
37
|
name: hippocratic
|