rubysmith 4.9.0 → 5.1.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 +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 +21 -0
- data/lib/rubysmith/configuration/transformers/git_hub_user.rb +21 -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 +32 -0
- data/lib/rubysmith/container.rb +23 -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: 4bf7aff137172ca7f7959152c9a6550f1453ae79c9f0947048b3f829ae118b5c
         | 
| 4 | 
            +
              data.tar.gz: 97a5b9c2fcf8204aa77b84bd159888f93808aa0dcc7693547d0aa3104cb226b2
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: cfbbafd5a69876cd04a2d6d980c3ffccf95efe7a70d595983953bf62efcd557e49433f34dc954069b135e90372f601837c9b9f7ee50534fb0c0b61c2b73c86b9
         | 
| 7 | 
            +
              data.tar.gz: 520c7dccfd4bde72ceb2678fbc6e7ceb1d5a246c17261858d22577b92965463998968dbf3cf50e44847c64484aff1fee4795d220364ceeef749fb4bee967450e
         | 
    
        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
         |