rubysmith 5.8.1 → 6.0.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 +3 -2
- 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 +18 -6
- 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 +9 -3
- 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 +5 -5
- data/lib/rubysmith/templates/%project_name%/.github/workflows/ci.yml.erb +3 -3
- 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/lib/%project_path%_spec.rb.erb +14 -0
- 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 +31 -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,2 +1,3 @@
|
|
1
|
-
|
2
|
-
�
|
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
|
|
@@ -18,16 +18,28 @@ module Rubysmith
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def call
|
21
|
+
render_implementation
|
22
|
+
render_specification
|
23
|
+
configuration
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def render_implementation
|
21
29
|
builder.call(configuration.merge(template_path: "%project_name%/lib/%project_path%.rb.erb"))
|
22
30
|
.render
|
23
31
|
.replace(" require", "require")
|
24
32
|
.replace(/ (?=(Zeit|loader|end))/, "")
|
25
33
|
.replace("\n \n", "\n\n")
|
26
34
|
.insert_before("module #{module_name}", "#{indentation}# Main namespace.\n")
|
27
|
-
configuration
|
28
35
|
end
|
29
36
|
|
30
|
-
|
37
|
+
def render_specification
|
38
|
+
return unless configuration.build_zeitwerk
|
39
|
+
|
40
|
+
path = "%project_name%/spec/lib/%project_path%_spec.rb.erb"
|
41
|
+
builder.call(configuration.merge(template_path: path)).render
|
42
|
+
end
|
31
43
|
|
32
44
|
def indentation = ::Core::EMPTY_STRING.indent configuration.project_levels
|
33
45
|
|
@@ -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
|