rubysmith 5.9.0 → 6.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +1 -4
- data/README.adoc +2 -39
- data/lib/rubysmith/builder.rb +4 -9
- 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 +9 -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: 7e54773a061dec5e6b98f7d33f64549e6fdfd369a7f25bc9420f9b5d03d78690
|
4
|
+
data.tar.gz: c043c11b205410422176c6162e03a0a950f4d1897db833fbfd40d6bd95209551
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13c21b6fefed26ffce156268fa4594547a8bb72cde324485d23dd15489fb420991fea10c2d10aa2f41787a8fdc34312c6e5229bc1e0f34c65fc01ce9104007d8
|
7
|
+
data.tar.gz: 97b2b2ec05af26573e2d28f8c00ec4161640db824f0a822b7f1c0b6fce0ee46f55d9b770c0872f03655bccb3174317b9be281bf700bbe3f37974427994050eca
|
checksums.yaml.gz.sig
CHANGED
@@ -1,4 +1 @@
|
|
1
|
-
U��
|
2
|
-
9Sv��ĺC�7(���4�_�ߑ����{��x���#o"�W'�Ґ�>_�E?�ĒGy�/Oy�
|
3
|
-
�QKnQ�l�D���_�'V:��r��M�sy�xIfK�s���%-=1X=�h������j�}�F>��̘G=�Q@�т��sP3�y}�nTqA��x��:�4�B�{�c/�-��O�[dv`36����
|
4
|
-
>!E����|60D)��T������\�E��
|
1
|
+
{�*(^"ۭG��dX|���[��:[n�����,�FZk��"�d��c>-b[v�����ǀ���%�Uƽ/��m:�z;�c�m��y�Vj��*qC���I�vԼm���y�{-�{�8��h��^�$��:C��8������6��;��^N����m.g����&���?g.B{�;%X�! ?�
|
data/README.adoc
CHANGED
@@ -35,7 +35,7 @@ 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://
|
38
|
+
* Supports link:https://github.com/ruby/repl_type_completor[ReplTypeCompletor].
|
39
39
|
* Supports link:https://github.com/fxn/zeitwerk[Zeitwerk].
|
40
40
|
* Supports common settings and a structured layout for building projects.
|
41
41
|
* Provides common documentation:
|
@@ -76,7 +76,7 @@ gem install rubysmith
|
|
76
76
|
|
77
77
|
From the command line, type: `rubysmith --help`
|
78
78
|
|
79
|
-
image:https://alchemists.io/images/projects/rubysmith/screenshots/usage.png[Usage,width=
|
79
|
+
image:https://alchemists.io/images/projects/rubysmith/screenshots/usage.png[Usage,width=604,height=345,role=focal_point]
|
80
80
|
|
81
81
|
==== Build
|
82
82
|
|
@@ -264,13 +264,6 @@ analysis of what your quality of code is for the project.
|
|
264
264
|
The `--versions` option allows you add a `VERSIONS` file to your project to provide details about
|
265
265
|
all published versions of your project.
|
266
266
|
|
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
267
|
===== Zeitwerk
|
275
268
|
|
276
269
|
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 +332,6 @@ build:
|
|
339
332
|
setup: true
|
340
333
|
simple_cov: true
|
341
334
|
versions: true
|
342
|
-
yard: false
|
343
335
|
zeitwerk: true
|
344
336
|
citation:
|
345
337
|
affiliation:
|
@@ -347,35 +339,6 @@ citation:
|
|
347
339
|
orcid:
|
348
340
|
documentation:
|
349
341
|
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
342
|
git_hub:
|
380
343
|
user:
|
381
344
|
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
|
|
@@ -28,13 +28,8 @@ module Rubysmith
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def check
|
31
|
-
|
32
|
-
|
33
|
-
if path.exist?
|
34
|
-
log_error "Path exists: #{path}."
|
35
|
-
kernel.abort
|
36
|
-
else
|
37
|
-
log_debug "Checked: #{path}."
|
31
|
+
build_path.then do |path|
|
32
|
+
path.exist? ? logger.abort("Path exists: #{path}.") : log_debug("Checked: #{path}.")
|
38
33
|
end
|
39
34
|
end
|
40
35
|
|
@@ -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
|