rubysmith 4.9.0 → 5.0.1
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 +91 -117
- data/lib/rubysmith/builders/core.rb +0 -1
- data/lib/rubysmith/cli/actions/amazing_print.rb +25 -0
- data/lib/rubysmith/cli/actions/caliber.rb +25 -0
- data/lib/rubysmith/cli/actions/circle_ci.rb +25 -0
- data/lib/rubysmith/cli/actions/citation.rb +25 -0
- data/lib/rubysmith/cli/actions/community.rb +25 -0
- data/lib/rubysmith/cli/actions/conduct.rb +25 -0
- data/lib/rubysmith/cli/actions/console.rb +25 -0
- data/lib/rubysmith/cli/actions/contributions.rb +25 -0
- data/lib/rubysmith/cli/actions/debug.rb +25 -0
- data/lib/rubysmith/cli/actions/funding.rb +25 -0
- data/lib/rubysmith/cli/actions/git.rb +25 -0
- data/lib/rubysmith/cli/actions/git_hub.rb +25 -0
- data/lib/rubysmith/cli/actions/git_hub_ci.rb +25 -0
- data/lib/rubysmith/cli/actions/git_lint.rb +25 -0
- data/lib/rubysmith/cli/actions/guard.rb +25 -0
- data/lib/rubysmith/cli/actions/license.rb +25 -0
- data/lib/rubysmith/cli/actions/maximum.rb +25 -0
- data/lib/rubysmith/cli/actions/minimum.rb +25 -0
- data/lib/rubysmith/cli/actions/name.rb +23 -0
- data/lib/rubysmith/cli/actions/publish.rb +16 -4
- data/lib/rubysmith/cli/actions/rake.rb +25 -0
- data/lib/rubysmith/cli/actions/readme.rb +25 -0
- data/lib/rubysmith/cli/actions/reek.rb +25 -0
- data/lib/rubysmith/cli/actions/refinements.rb +25 -0
- data/lib/rubysmith/cli/actions/rspec.rb +25 -0
- data/lib/rubysmith/cli/actions/security.rb +25 -0
- data/lib/rubysmith/cli/actions/setup.rb +25 -0
- data/lib/rubysmith/cli/actions/simple_cov.rb +25 -0
- data/lib/rubysmith/cli/actions/versions.rb +25 -0
- data/lib/rubysmith/cli/actions/yard.rb +25 -0
- data/lib/rubysmith/cli/actions/zeitwerk.rb +25 -0
- data/lib/rubysmith/cli/{actions → commands}/build.rb +45 -7
- data/lib/rubysmith/cli/shell.rb +20 -18
- data/lib/rubysmith/configuration/contract.rb +78 -0
- data/lib/rubysmith/configuration/defaults.yml +52 -73
- data/lib/rubysmith/configuration/{content.rb → model.rb} +8 -22
- data/lib/rubysmith/configuration/transformers/current_time.rb +18 -0
- data/lib/rubysmith/configuration/transformers/git_email.rb +19 -0
- data/lib/rubysmith/configuration/transformers/git_hub_user.rb +19 -0
- data/lib/rubysmith/configuration/transformers/git_user.rb +24 -0
- data/lib/rubysmith/configuration/transformers/target_root.rb +18 -0
- data/lib/rubysmith/configuration/transformers/template_root.rb +22 -0
- data/lib/rubysmith/container.rb +21 -3
- data/lib/rubysmith/extensions/milestoner.rb +1 -1
- data/lib/rubysmith/extensions/pragmater.rb +8 -8
- data/lib/rubysmith/extensions/tocer.rb +8 -8
- data/lib/rubysmith/pathway.rb +1 -0
- data/lib/rubysmith/templates/%project_name%/Gemfile.erb +4 -4
- data/rubysmith.gemspec +16 -13
- data.tar.gz.sig +0 -0
- metadata +112 -46
- metadata.gz.sig +0 -0
- data/lib/rubysmith/cli/actions/config.rb +0 -33
- data/lib/rubysmith/cli/actions/container.rb +0 -20
- data/lib/rubysmith/cli/actions/import.rb +0 -11
- data/lib/rubysmith/cli/parser.rb +0 -35
- data/lib/rubysmith/cli/parsers/build.rb +0 -307
- data/lib/rubysmith/cli/parsers/core.rb +0 -72
- data/lib/rubysmith/configuration/enhancers/container.rb +0 -20
- data/lib/rubysmith/configuration/enhancers/current_time.rb +0 -14
- data/lib/rubysmith/configuration/enhancers/git_email.rb +0 -21
- data/lib/rubysmith/configuration/enhancers/git_hub_user.rb +0 -21
- data/lib/rubysmith/configuration/enhancers/git_user.rb +0 -25
- data/lib/rubysmith/configuration/enhancers/template_root.rb +0 -12
- data/lib/rubysmith/configuration/loader.rb +0 -44
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0dbc9d9406cccf11b2508d5c27370906bf7f13b18e8506638ddc29a9ce003df4
|
4
|
+
data.tar.gz: 64beedf46aea4a1768e98790c9c3e96acca2d274fe12805721588338584fb390
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e22613cee83158a67415a51e128603d5bea8ad9fb052c679520669c01e933fbd14c850efaddb0a30144ccca4515f7a96c45104b503e975b44f344fb2bbfd64f
|
7
|
+
data.tar.gz: 5054c72f1a820e90cf414aa110246bb0d404737f13c61ea2117818474ff42316ea40217e8f19fd113316e994a67ed6878be64abcf444165a8216b49b8eda9ceb
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -77,43 +77,19 @@ gem install rubysmith
|
|
77
77
|
From the command line, type: `rubysmith --help`
|
78
78
|
|
79
79
|
....
|
80
|
-
USAGE
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
--[no-]conduct Add code of conduct documentation. Default: true.
|
94
|
-
--[no-]console Add console script. Default: true.
|
95
|
-
--[no-]contributions Add contributions documentation. Default: true.
|
96
|
-
--[no-]debug Add Debug gem. Default: true.
|
97
|
-
--[no-]funding Add GitHub funding configuration. Default: false.
|
98
|
-
--[no-]git Add Git. Default: true.
|
99
|
-
--[no-]git_hub Add GitHub templates. Default: false.
|
100
|
-
--[no-]git_hub_ci Add GitHub templates. Default: false.
|
101
|
-
--[no-]git-lint Add Git Lint gem. Default: true.
|
102
|
-
--[no-]guard Add Guard gem. Default: true.
|
103
|
-
--[no-]license Add license documentation. Default: true.
|
104
|
-
--max Use maximum/enabled options. Default: false.
|
105
|
-
--min Use minimum/disabled options. Default: false.
|
106
|
-
--[no-]rake Add Rake gem. Default: true.
|
107
|
-
--[no-]readme Add readme documentation. Default: true.
|
108
|
-
--[no-]reek Add Reek gem. Default: true.
|
109
|
-
--[no-]refinements Add Refinements gem. Default: true.
|
110
|
-
--[no-]rspec Add RSpec gem. Default: true.
|
111
|
-
--[no-]security Add security. Default: true.
|
112
|
-
--[no-]setup Add setup script. Default: true.
|
113
|
-
--[no-]simple_cov Add SimpleCov gem. Default: true.
|
114
|
-
--[no-]versions Add version history. Default: true.
|
115
|
-
--[no-]yard Add Yard gem. Default: false.
|
116
|
-
--[no-]zeitwerk Add Zeitwerk gem. Default: true.
|
80
|
+
USAGE
|
81
|
+
rubysmith [OPTIONS]
|
82
|
+
rubysmith COMMAND [OPTIONS]
|
83
|
+
|
84
|
+
OPTIONS
|
85
|
+
-p, --publish VERSION Publish project.
|
86
|
+
-v, --version Show version.
|
87
|
+
-h, --help [COMMAND] Show this message.
|
88
|
+
|
89
|
+
COMMANDS
|
90
|
+
config Manage configuration.
|
91
|
+
Path is dynamic per current directory.
|
92
|
+
build Build new project.
|
117
93
|
....
|
118
94
|
|
119
95
|
==== Build
|
@@ -124,7 +100,7 @@ Most build options are enabled by default. Example:
|
|
124
100
|
|
125
101
|
[source,bash]
|
126
102
|
----
|
127
|
-
rubysmith
|
103
|
+
rubysmith build --name demo
|
128
104
|
----
|
129
105
|
|
130
106
|
Running the above will generate a new `demo` Ruby project. Should you wish to disable specific
|
@@ -132,7 +108,7 @@ options, you can use `--no-*` prefixes. Example:
|
|
132
108
|
|
133
109
|
[source,bash]
|
134
110
|
----
|
135
|
-
rubysmith
|
111
|
+
rubysmith build --name demo --no-debug --no-guard
|
136
112
|
----
|
137
113
|
|
138
114
|
With the above example, both Debug and Guard support would have been disabled when building the
|
@@ -141,7 +117,7 @@ project with bare minimum of options. Example:
|
|
141
117
|
|
142
118
|
[source,bash]
|
143
119
|
----
|
144
|
-
rubysmith
|
120
|
+
rubysmith build --name demo --min
|
145
121
|
----
|
146
122
|
|
147
123
|
The above is essentially the same as building with _all_ options disabled. This is handy in situations where you need to quickly script something up for sharing with others yet still want to avoid using a {bundler_inline_link} script so gem dependencies are not installed each time the code is run.
|
@@ -151,8 +127,8 @@ example, where both minimum and maximum options are used in conjunction with oth
|
|
151
127
|
|
152
128
|
[source,bash]
|
153
129
|
----
|
154
|
-
rubysmith
|
155
|
-
rubysmith
|
130
|
+
rubysmith build --name demo --min --zeitwerk
|
131
|
+
rubysmith build --name demo --max --no-debug
|
156
132
|
----
|
157
133
|
|
158
134
|
With the above examples, the first line will _disable_ all options except Zeitwerk while the second
|
@@ -344,60 +320,61 @@ variables. The default configuration is as follows:
|
|
344
320
|
[source,yaml]
|
345
321
|
----
|
346
322
|
:author:
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
:
|
366
|
-
:
|
367
|
-
:
|
368
|
-
:
|
369
|
-
:
|
370
|
-
:
|
371
|
-
:
|
372
|
-
:
|
373
|
-
:
|
374
|
-
:
|
375
|
-
:
|
376
|
-
:
|
377
|
-
:
|
378
|
-
:
|
379
|
-
:
|
380
|
-
:
|
381
|
-
:
|
382
|
-
|
383
|
-
:
|
384
|
-
:
|
385
|
-
:
|
386
|
-
|
387
|
-
:
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
323
|
+
email:
|
324
|
+
family_name:
|
325
|
+
given_name:
|
326
|
+
url:
|
327
|
+
build:
|
328
|
+
amazing_print: true
|
329
|
+
caliber: true
|
330
|
+
circle_ci: false
|
331
|
+
citation: true
|
332
|
+
cli: false
|
333
|
+
community: false
|
334
|
+
conduct: true
|
335
|
+
console: true
|
336
|
+
contributions: true
|
337
|
+
debug: true
|
338
|
+
funding: false
|
339
|
+
git: true
|
340
|
+
git_hub: false
|
341
|
+
git_hub_ci: false
|
342
|
+
git_lint: true
|
343
|
+
guard: true
|
344
|
+
license: true
|
345
|
+
maximum: false
|
346
|
+
minimum: false
|
347
|
+
rake: true
|
348
|
+
readme: true
|
349
|
+
reek: true
|
350
|
+
refinements: true
|
351
|
+
rspec: true
|
352
|
+
security: true
|
353
|
+
setup: true
|
354
|
+
simple_cov: true
|
355
|
+
versions: true
|
356
|
+
yard: false
|
357
|
+
zeitwerk: true
|
358
|
+
citation:
|
359
|
+
affiliation:
|
360
|
+
message: Please use the following metadata when citing this project in your work.
|
361
|
+
orcid:
|
362
|
+
documentation:
|
363
|
+
format: "adoc"
|
364
|
+
extensions:
|
365
|
+
milestoner:
|
366
|
+
documentation:
|
367
|
+
format: "adoc"
|
368
|
+
prefixes:
|
392
369
|
- Fixed
|
393
370
|
- Added
|
394
371
|
- Updated
|
395
372
|
- Removed
|
396
373
|
- Refactored
|
397
|
-
|
398
|
-
|
374
|
+
pragmater:
|
375
|
+
comments:
|
399
376
|
- "# frozen_string_literal: true"
|
400
|
-
:
|
377
|
+
patterns:
|
401
378
|
- "**/*.rake"
|
402
379
|
- "**/*.rb"
|
403
380
|
- "*.gemspec"
|
@@ -409,35 +386,32 @@ variables. The default configuration is as follows:
|
|
409
386
|
- Gemfile
|
410
387
|
- Guardfile
|
411
388
|
- Rakefile
|
412
|
-
|
413
|
-
:
|
389
|
+
tocer:
|
390
|
+
label: "## Table of Contents"
|
391
|
+
patterns:
|
414
392
|
- "README.md"
|
415
|
-
|
416
|
-
:
|
417
|
-
|
418
|
-
:
|
419
|
-
:
|
420
|
-
:
|
421
|
-
|
422
|
-
:
|
423
|
-
|
424
|
-
:
|
425
|
-
:
|
426
|
-
:
|
427
|
-
:
|
428
|
-
:
|
429
|
-
:
|
430
|
-
:
|
431
|
-
:
|
432
|
-
:
|
433
|
-
:
|
434
|
-
|
435
|
-
:version: 0.0.0
|
393
|
+
git_hub:
|
394
|
+
user:
|
395
|
+
license:
|
396
|
+
label: Hippocratic
|
397
|
+
name: hippocratic
|
398
|
+
version: "2.1"
|
399
|
+
project:
|
400
|
+
url:
|
401
|
+
community:
|
402
|
+
conduct:
|
403
|
+
contributions:
|
404
|
+
download:
|
405
|
+
funding:
|
406
|
+
home:
|
407
|
+
issues:
|
408
|
+
license:
|
409
|
+
security:
|
410
|
+
source:
|
411
|
+
versions:
|
412
|
+
version: 0.0.0
|
436
413
|
----
|
437
414
|
|
438
|
-
Feel free to take this default configuration, modify, and save as your own custom
|
439
|
-
`configuration.yml`.
|
440
|
-
|
441
415
|
By customizing your configuration, you can change Rubysmith's default behavior when building
|
442
416
|
projects. This is a great way to define your own specialized settings other than what is provide for
|
443
417
|
you by default. This is also a handy way to provide additional information needed for some of the
|
@@ -523,7 +497,7 @@ place holder is replaced with your project name when generating a new project. E
|
|
523
497
|
https://www.example.com/%project_name%
|
524
498
|
|
525
499
|
# Command
|
526
|
-
rubysmith
|
500
|
+
rubysmith build --name demo
|
527
501
|
|
528
502
|
# Actual (computed result)
|
529
503
|
https://www.example.com/demo
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores Amazing Print flag.
|
10
|
+
class AmazingPrint < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add Amazing Print gem."
|
16
|
+
|
17
|
+
on "--[no-]amazing_print"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_amazing_print }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_amazing_print: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores Caliber flag.
|
10
|
+
class Caliber < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add Caliber gem."
|
16
|
+
|
17
|
+
on "--[no-]caliber"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_caliber }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_caliber: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores Circle CI flag.
|
10
|
+
class CircleCI < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add Circle CI configuration."
|
16
|
+
|
17
|
+
on "--[no-]circle_ci"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_circle_ci }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_circle_ci: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores citation flag.
|
10
|
+
class Citation < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add citation documentation."
|
16
|
+
|
17
|
+
on "--[no-]citation"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_citation }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_citation: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores community flag.
|
10
|
+
class Community < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add community documentation."
|
16
|
+
|
17
|
+
on "--[no-]community"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_community }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_community: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores conduct flag.
|
10
|
+
class Conduct < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add code of conduct documentation."
|
16
|
+
|
17
|
+
on "--[no-]conduct"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_conduct }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_conduct: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores console flag.
|
10
|
+
class Console < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add console script."
|
16
|
+
|
17
|
+
on "--[no-]console"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_console }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_console: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores contributions flag.
|
10
|
+
class Contributions < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add contributions documentation."
|
16
|
+
|
17
|
+
on "--[no-]contributions"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_contributions }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_contributions: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores Debug flag.
|
10
|
+
class Debug < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add Debug gem."
|
16
|
+
|
17
|
+
on "--[no-]debug"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_debug }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_debug: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores funding flag.
|
10
|
+
class Funding < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add GitHub funding configuration."
|
16
|
+
|
17
|
+
on "--[no-]funding"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_funding }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_funding: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores Git flag.
|
10
|
+
class Git < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add Git repository."
|
16
|
+
|
17
|
+
on "--[no-]git"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_git }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_git: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores GitHub flag.
|
10
|
+
class GitHub < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add GitHub templates."
|
16
|
+
|
17
|
+
on "--[no-]git_hub"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_git_hub }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_git_hub: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores GitHub CI flag.
|
10
|
+
class GitHubCI < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add GitHub continuous integration."
|
16
|
+
|
17
|
+
on "--[no-]git_hub_ci"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_git_hub_ci }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_git_hub_ci: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "refinements/structs"
|
4
|
+
require "sod"
|
5
|
+
|
6
|
+
module Rubysmith
|
7
|
+
module CLI
|
8
|
+
module Actions
|
9
|
+
# Stores Git Lint flag.
|
10
|
+
class GitLint < Sod::Action
|
11
|
+
include Import[:input]
|
12
|
+
|
13
|
+
using ::Refinements::Structs
|
14
|
+
|
15
|
+
description "Add Git Lint gem."
|
16
|
+
|
17
|
+
on "--[no-]git-lint"
|
18
|
+
|
19
|
+
default { Container[:configuration].build_git_lint }
|
20
|
+
|
21
|
+
def call(value = default) = input.merge!(build_git_lint: value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|