rubysmith 7.9.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/README.adoc +1 -11
  4. data/lib/rubysmith/builder.rb +2 -4
  5. data/lib/rubysmith/builders/abstract.rb +2 -2
  6. data/lib/rubysmith/builders/git/commit.rb +1 -1
  7. data/lib/rubysmith/cli/actions/amazing_print.rb +1 -1
  8. data/lib/rubysmith/cli/actions/bootsnap.rb +1 -1
  9. data/lib/rubysmith/cli/actions/caliber.rb +1 -1
  10. data/lib/rubysmith/cli/actions/circle_ci.rb +1 -1
  11. data/lib/rubysmith/cli/actions/citation.rb +1 -1
  12. data/lib/rubysmith/cli/actions/community.rb +1 -1
  13. data/lib/rubysmith/cli/actions/conduct.rb +1 -1
  14. data/lib/rubysmith/cli/actions/console.rb +1 -1
  15. data/lib/rubysmith/cli/actions/contributions.rb +1 -1
  16. data/lib/rubysmith/cli/actions/dcoo.rb +1 -1
  17. data/lib/rubysmith/cli/actions/debug.rb +1 -1
  18. data/lib/rubysmith/cli/actions/dev_container.rb +1 -1
  19. data/lib/rubysmith/cli/actions/docker.rb +1 -1
  20. data/lib/rubysmith/cli/actions/funding.rb +1 -1
  21. data/lib/rubysmith/cli/actions/git.rb +1 -1
  22. data/lib/rubysmith/cli/actions/git_hub.rb +1 -1
  23. data/lib/rubysmith/cli/actions/git_hub_ci.rb +1 -1
  24. data/lib/rubysmith/cli/actions/git_lint.rb +1 -1
  25. data/lib/rubysmith/cli/actions/irb_kit.rb +1 -1
  26. data/lib/rubysmith/cli/actions/license.rb +1 -1
  27. data/lib/rubysmith/cli/actions/maximum.rb +1 -1
  28. data/lib/rubysmith/cli/actions/minimum.rb +1 -1
  29. data/lib/rubysmith/cli/actions/name.rb +1 -1
  30. data/lib/rubysmith/cli/actions/rake.rb +1 -1
  31. data/lib/rubysmith/cli/actions/readme.rb +1 -1
  32. data/lib/rubysmith/cli/actions/reek.rb +1 -1
  33. data/lib/rubysmith/cli/actions/refinements.rb +1 -1
  34. data/lib/rubysmith/cli/actions/rspec.rb +1 -1
  35. data/lib/rubysmith/cli/actions/rtc.rb +1 -1
  36. data/lib/rubysmith/cli/actions/security.rb +1 -1
  37. data/lib/rubysmith/cli/actions/setup.rb +1 -1
  38. data/lib/rubysmith/cli/actions/simple_cov.rb +1 -1
  39. data/lib/rubysmith/cli/actions/versions.rb +1 -1
  40. data/lib/rubysmith/cli/actions/zeitwerk.rb +1 -1
  41. data/lib/rubysmith/cli/commands/build.rb +1 -3
  42. data/lib/rubysmith/cli/shell.rb +1 -1
  43. data/lib/rubysmith/configuration/contract.rb +0 -1
  44. data/lib/rubysmith/configuration/defaults.yml +1 -2
  45. data/lib/rubysmith/configuration/model.rb +0 -1
  46. data/lib/rubysmith/configuration/transformers/git_email.rb +1 -1
  47. data/lib/rubysmith/configuration/transformers/git_hub_user.rb +1 -1
  48. data/lib/rubysmith/configuration/transformers/git_user.rb +1 -1
  49. data/lib/rubysmith/{import.rb → dependencies.rb} +1 -1
  50. data/lib/rubysmith/extensions/bundler.rb +1 -1
  51. data/lib/rubysmith/extensions/pragmater.rb +1 -1
  52. data/lib/rubysmith/extensions/rubocop.rb +1 -1
  53. data/lib/rubysmith/extensions/tocer.rb +1 -1
  54. data/lib/rubysmith/templates/%project_name%/Gemfile.erb +4 -7
  55. data/lib/rubysmith/templates/%project_name%/spec/support/shared_contexts/temp_dir.rb.erb +2 -4
  56. data/rubysmith.gemspec +15 -15
  57. data.tar.gz.sig +0 -0
  58. metadata +31 -42
  59. metadata.gz.sig +4 -1
  60. data/lib/rubysmith/builders/guard.rb +0 -23
  61. data/lib/rubysmith/cli/actions/guard.rb +0 -24
  62. data/lib/rubysmith/templates/%project_name%/Guardfile.erb +0 -5
  63. data/lib/rubysmith/templates/%project_name%/bin/guard.erb +0 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e459aa858b5027da5cf027d98b4fcf9bf15f96665b0832b0387be98d79cdc278
4
- data.tar.gz: 638dd352f5e43eb342144af524e71d229a95afc3b7c7b775e51294465e87a90b
3
+ metadata.gz: 0f512f1f7adfd5301c935fdc80961dcc07576147ac407741660f4a87fdd667a8
4
+ data.tar.gz: 877af06b271d0de948f52d2b0a00b4eef4713e49f8dfe480ed98985478eea06e
5
5
  SHA512:
6
- metadata.gz: fe0f560c10f899046a9124002a9d9f7058070b7d1165cfddf26597947bc5401e77c81c06f802dd9bedce3506a3c8b6aa48a70dfbbcd16d9c1da05545549643fd
7
- data.tar.gz: da37bf567235f35cb9b0aacd953429a610d168c7edc15d43b86c915c744f73204c654f170ae974655c927216a212de503dd99e2c90c8f981fb97417f82ef1872
6
+ metadata.gz: 861d0bbd9aa080562f6c589136156298e4b03a447918cb441cdca3ecceb585f644f4d0939b3dd264da368debb9af524e976b506fd0fda988759fc7c22386887a
7
+ data.tar.gz: 59a9ded772aad9688c44f0561365d1b7b1e787aef524bc62f7369115c41cad96a845d3c60901d395ae44c91cefa93d2728ee405f2885e968641dedde1c4c48af
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -197,8 +197,6 @@ contribute back to your work. The link is added to the `README` file when enable
197
197
 
198
198
  The `--dcoo` option allows to you add link:https://developercertificate.org[Developer Certificate of Origin] documentation so all contributors are aware of how their contributions are applied in terms of ownership, copyright, and licensing. The link is added to the `README` file when enabled.
199
199
 
200
- ℹ️ This is disabled by default but will be enabled by default in the next major version.
201
-
202
200
  ===== Debug
203
201
 
204
202
  The `--debug` option allows you add the link:https://github.com/ruby/debug[Debug] gem to your
@@ -274,13 +272,6 @@ The `--git-lint` option allows you to add the link:https://alchemists.io/project
274
272
  Lint] gem to your project to ensure you are crafting your Git commits in a consistent and readable
275
273
  manner.
276
274
 
277
- ===== Guard
278
-
279
- ⚠️ _This is deprecated and will be removed in the next major version._
280
-
281
- The `--guard` option allows you add the link:https://github.com/guard/guard[Guard] gem to your
282
- project for rapid red, green, refactor development cycles.
283
-
284
275
  ===== IRB Kit
285
276
 
286
277
  The `--irb-kit` option allows you add the link:https://alchemists.io/projects/irb-kit[IRB Kit] gem to your project for additional extensions you can use within IRB to improve your workflow.
@@ -397,7 +388,7 @@ build:
397
388
  conduct: true
398
389
  console: true
399
390
  contributions: true
400
- dcoo: false
391
+ dcoo: true
401
392
  debug: true
402
393
  devcontainer: false
403
394
  docker: false
@@ -406,7 +397,6 @@ build:
406
397
  git_hub: false
407
398
  git_hub_ci: false
408
399
  git_lint: true
409
- guard: false
410
400
  irb_kit: true
411
401
  license: true
412
402
  maximum: false
@@ -6,14 +6,12 @@ require "refinements/pathname"
6
6
  module Rubysmith
7
7
  # Provides common functionality necessary for all builders.
8
8
  class Builder
9
- include Import[:kernel, :logger]
9
+ include Dependencies[:logger]
10
10
 
11
11
  using Refinements::Pathname
12
12
 
13
13
  HELPERS = {inserter: Text::Inserter, renderer: Renderers::ERB, executor: Open3}.freeze
14
14
 
15
- def self.call(...) = new(...)
16
-
17
15
  def initialize(settings, helpers: HELPERS, **)
18
16
  @settings = settings
19
17
  @helpers = helpers
@@ -52,7 +50,7 @@ module Rubysmith
52
50
 
53
51
  def make_path
54
52
  log_info "Making: #{relative_build_path}"
55
- build_path.make_path
53
+ build_path.mkpath
56
54
  self
57
55
  end
58
56
 
@@ -4,10 +4,10 @@ module Rubysmith
4
4
  module Builders
5
5
  # Provides default implementation from which builders can inherit from.
6
6
  class Abstract
7
- include Import[:settings, :logger]
7
+ include Dependencies[:settings, :logger]
8
8
 
9
9
  def initialize(builder: Builder, **)
10
- @builder = -> settings, **keywords { builder.new settings, logger:, **keywords }
10
+ @builder = -> settings { builder.new settings, logger: }
11
11
  super(**)
12
12
  end
13
13
 
@@ -5,7 +5,7 @@ module Rubysmith
5
5
  module Git
6
6
  # Builds project skeleton initial Git commit message.
7
7
  class Commit < Abstract
8
- include Import[:specification]
8
+ include Dependencies[:specification]
9
9
 
10
10
  def call
11
11
  return false unless settings.build_git
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Amazing Print flag.
9
9
  class AmazingPrint < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Amazing Print gem."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Bootsnap flag.
9
9
  class Bootsnap < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Bootsnap gem."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Caliber flag.
9
9
  class Caliber < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Caliber gem."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Circle CI flag.
9
9
  class CircleCI < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Circle CI support."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores citation flag.
9
9
  class Citation < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add citation documentation."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores community flag.
9
9
  class Community < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add community documentation."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores conduct flag.
9
9
  class Conduct < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add code of conduct documentation."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores console flag.
9
9
  class Console < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add console script."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores contributions flag.
9
9
  class Contributions < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add contributions documentation."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Developer Certificate of Origin flag.
9
9
  class DCOO < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Developer Certificate of Origin documentation."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Debug flag.
9
9
  class Debug < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Debug gem."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Development Container flag.
9
9
  class DevContainer < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Development Container support."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Docker flag.
9
9
  class Docker < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Docker support."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores funding flag.
9
9
  class Funding < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add GitHub funding."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Git flag.
9
9
  class Git < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Git repository."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores GitHub flag.
9
9
  class GitHub < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add GitHub code review and issue templates."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores GitHub CI flag.
9
9
  class GitHubCI < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add GitHub continuous integration support."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Git Lint flag.
9
9
  class GitLint < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Git Lint gem."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores IRB Kit flag.
9
9
  class IRBKit < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add IRB Kit gem."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores license flag.
9
9
  class License < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add license documentation."
13
13
 
@@ -8,7 +8,7 @@ module Rubysmith
8
8
  module Actions
9
9
  # Forces maximum settings.
10
10
  class Maximum < Sod::Action
11
- include Import[:settings]
11
+ include Dependencies[:settings]
12
12
 
13
13
  using ::Refinements::Struct
14
14
 
@@ -8,7 +8,7 @@ module Rubysmith
8
8
  module Actions
9
9
  # Forces minimum settings.
10
10
  class Minimum < Sod::Action
11
- include Import[:settings]
11
+ include Dependencies[:settings]
12
12
 
13
13
  using ::Refinements::Struct
14
14
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores project (build) name.
9
9
  class Name < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Set project name."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Rake flag.
9
9
  class Rake < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Rake gem."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores readme flag.
9
9
  class Readme < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add readme documentation."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Reek flag.
9
9
  class Reek < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Reek gem."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Refinements flag.
9
9
  class Refinements < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Refinements gem."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores RSpec flag.
9
9
  class RSpec < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add RSpec gem."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Repl Type Completor flag.
9
9
  class RTC < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Repl Type Completor gem."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores security flag.
9
9
  class Security < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add security."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores setup flag.
9
9
  class Setup < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add setup script."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores SimpleCov flag.
9
9
  class SimpleCov < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add SimpleCov gem."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores versions flag.
9
9
  class Versions < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add version history."
13
13
 
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Actions
8
8
  # Stores Zeitwerk flag.
9
9
  class Zeitwerk < Sod::Action
10
- include Import[:settings]
10
+ include Dependencies[:settings]
11
11
 
12
12
  description "Add Zeitwerk gem."
13
13
 
@@ -8,7 +8,7 @@ module Rubysmith
8
8
  module Commands
9
9
  # Stores table of contents root path.
10
10
  class Build < Sod::Command
11
- include Import[:settings, :kernel, :logger]
11
+ include Dependencies[:settings, :kernel, :logger]
12
12
 
13
13
  # Order is important.
14
14
  BUILDERS = [
@@ -31,7 +31,6 @@ module Rubysmith
31
31
  Builders::GitHub::Template,
32
32
  Builders::GitHub::Funding,
33
33
  Builders::GitHub::CI,
34
- Builders::Guard,
35
34
  Builders::Reek,
36
35
  Builders::RSpec::Binstub,
37
36
  Builders::RSpec::Context,
@@ -75,7 +74,6 @@ module Rubysmith
75
74
  on Actions::GitHub
76
75
  on Actions::GitHubCI
77
76
  on Actions::GitLint
78
- on Actions::Guard
79
77
  on Actions::IRBKit
80
78
  on Actions::License
81
79
  on Actions::Maximum
@@ -6,7 +6,7 @@ module Rubysmith
6
6
  module CLI
7
7
  # The main Command Line Interface (CLI) object.
8
8
  class Shell
9
- include Import[:defaults_path, :xdg_config, :specification]
9
+ include Dependencies[:defaults_path, :xdg_config, :specification]
10
10
 
11
11
  def initialize(context: Sod::Context, dsl: Sod, **)
12
12
  super(**)
@@ -32,7 +32,6 @@ module Rubysmith
32
32
  required(:build_git_hub).filled :bool
33
33
  required(:build_git_hub_ci).filled :bool
34
34
  required(:build_git_lint).filled :bool
35
- required(:build_guard).filled :bool
36
35
  required(:build_irb_kit).filled :bool
37
36
  required(:build_license).filled :bool
38
37
  required(:build_maximum).filled :bool
@@ -12,7 +12,7 @@ build:
12
12
  conduct: true
13
13
  console: true
14
14
  contributions: true
15
- dcoo: false
15
+ dcoo: true
16
16
  debug: true
17
17
  devcontainer: false
18
18
  docker: false
@@ -21,7 +21,6 @@ build:
21
21
  git_hub: false
22
22
  git_hub_ci: false
23
23
  git_lint: true
24
- guard: false
25
24
  irb_kit: true
26
25
  license: true
27
26
  maximum: false
@@ -33,7 +33,6 @@ module Rubysmith
33
33
  :build_git_hub,
34
34
  :build_git_hub_ci,
35
35
  :build_git_lint,
36
- :build_guard,
37
36
  :build_irb_kit,
38
37
  :build_license,
39
38
  :build_maximum,
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Transformers
8
8
  # Dynamically adds Git email if defined.
9
9
  class GitEmail
10
- include Import[:git]
10
+ include Dependencies[:git]
11
11
  include Dry::Monads[:result]
12
12
 
13
13
  def initialize(key = :author_email, **)
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Transformers
8
8
  # Dynamically updates repository handle if GitHub user is defined.
9
9
  class GitHubUser
10
- include Import[:git]
10
+ include Dependencies[:git]
11
11
  include Dry::Monads[:result]
12
12
 
13
13
  def initialize(key = :repository_handle, **)
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Transformers
8
8
  # Dynamically adds Git user if defined.
9
9
  class GitUser
10
- include Import[:git]
10
+ include Dependencies[:git]
11
11
  include Dry::Monads[:result]
12
12
 
13
13
  def call attributes
@@ -3,5 +3,5 @@
3
3
  require "infusible"
4
4
 
5
5
  module Rubysmith
6
- Import = Infusible[Container]
6
+ Dependencies = Infusible[Container]
7
7
  end
@@ -9,7 +9,7 @@ module Rubysmith
9
9
  module Extensions
10
10
  # Ensures gem dependencies are installed.
11
11
  class Bundler
12
- include Import[:settings, :logger]
12
+ include Dependencies[:settings, :logger]
13
13
 
14
14
  using Refinements::IO
15
15
  using Refinements::Pathname
@@ -7,7 +7,7 @@ module Rubysmith
7
7
  module Extensions
8
8
  # Ensures project skeleton has pragmas.
9
9
  class Pragmater
10
- include Import[:settings, :logger]
10
+ include Dependencies[:settings, :logger]
11
11
 
12
12
  using Refinements::Pathname
13
13
 
@@ -8,7 +8,7 @@ module Rubysmith
8
8
  module Extensions
9
9
  # Ensures project skeleton adheres to style guide.
10
10
  class Rubocop
11
- include Import[:settings, :logger]
11
+ include Dependencies[:settings, :logger]
12
12
 
13
13
  using Refinements::IO
14
14
  using Refinements::Pathname
@@ -8,7 +8,7 @@ module Rubysmith
8
8
  module Extensions
9
9
  # Ensures project skeleton documentation has table of content.
10
10
  class Tocer
11
- include Import[:settings, :logger]
11
+ include Dependencies[:settings, :logger]
12
12
 
13
13
  using Refinements::Pathname
14
14
 
@@ -6,7 +6,7 @@ source "https://rubygems.org"
6
6
  gem "bootsnap", "~> 1.18"
7
7
  <% end %>
8
8
  <% if settings.build_refinements %>
9
- gem "refinements", "~> 12.10"
9
+ gem "refinements", "~> 13.0"
10
10
  <% end %>
11
11
  <% if settings.build_zeitwerk %>
12
12
  gem "zeitwerk", "~> 2.7"
@@ -14,10 +14,10 @@ source "https://rubygems.org"
14
14
 
15
15
  group :quality do
16
16
  <% if settings.build_caliber %>
17
- gem "caliber", "~> 0.64"
17
+ gem "caliber", "~> 0.68"
18
18
  <% end %>
19
19
  <% if settings.build_git && settings.build_git_lint %>
20
- gem "git-lint", "~> 8.7"
20
+ gem "git-lint", "~> 9.0"
21
21
  <% end %>
22
22
  <% if settings.build_reek %>
23
23
  gem "reek", "~> 6.3", require: false
@@ -37,9 +37,6 @@ group :development do
37
37
  end
38
38
 
39
39
  group :test do
40
- <% if settings.build_guard %>
41
- gem "guard-rspec", "~> 4.7", require: false
42
- <% end %>
43
40
  <% if settings.build_rspec %>
44
41
  gem "rspec", "~> 3.13"
45
42
  <% end %>
@@ -53,7 +50,7 @@ group :tools do
53
50
  gem "debug", "~> 1.9"
54
51
  <% end %>
55
52
  <% if settings.build_irb_kit %>
56
- gem "irb-kit", "~> 0.3"
53
+ gem "irb-kit", "~> 1.0"
57
54
  <% end %>
58
55
  <% if settings.build_rtc %>
59
56
  gem "repl_type_completor", "~> 0.1"
@@ -1,11 +1,9 @@
1
1
  RSpec.shared_context "with temporary directory" do
2
- <% if settings.build_refinements %>using Refinements::Pathname<% end %>
3
-
4
2
  let(:temp_dir) { Bundler.root.join "tmp/rspec" }
5
3
 
6
4
  around do |example|
7
- <%= settings.build_refinements ? "temp_dir.make_path" : "FileUtils.mkdir_p temp_dir" %>
5
+ temp_dir.mkpath
8
6
  example.run
9
- <%= settings.build_refinements ? "temp_dir.remove_tree" : "FileUtils.rm_rf temp_dir" %>
7
+ temp_dir.rmtree
10
8
  end
11
9
  end
data/rubysmith.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "rubysmith"
5
- spec.version = "7.9.0"
5
+ spec.version = "8.0.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/rubysmith"
@@ -22,22 +22,22 @@ Gem::Specification.new do |spec|
22
22
  spec.signing_key = Gem.default_key_path
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
- spec.required_ruby_version = ">= 3.3", "<= 3.4"
26
- spec.add_dependency "cogger", "~> 0.31"
27
- spec.add_dependency "containable", "~> 0.2"
25
+ spec.required_ruby_version = "~> 3.4"
26
+ spec.add_dependency "cogger", "~> 1.0"
27
+ spec.add_dependency "containable", "~> 1.0"
28
28
  spec.add_dependency "dry-monads", "~> 1.6"
29
29
  spec.add_dependency "dry-schema", "~> 1.13"
30
- spec.add_dependency "etcher", "~> 2.7"
31
- spec.add_dependency "gitt", "~> 3.12"
32
- spec.add_dependency "infusible", "~> 3.12"
33
- spec.add_dependency "pragmater", "~> 15.7"
34
- spec.add_dependency "refinements", "~> 12.10"
35
- spec.add_dependency "rubocop", "~> 1.66"
36
- spec.add_dependency "runcom", "~> 11.10"
37
- spec.add_dependency "sod", "~> 0.20"
38
- spec.add_dependency "spek", "~> 3.0"
39
- spec.add_dependency "tocer", "~> 18.7"
40
- spec.add_dependency "tone", "~> 1.10"
30
+ spec.add_dependency "etcher", "~> 3.0"
31
+ spec.add_dependency "gitt", "~> 4.0"
32
+ spec.add_dependency "infusible", "~> 4.0"
33
+ spec.add_dependency "pragmater", "~> 16.0"
34
+ spec.add_dependency "refinements", "~> 13.0"
35
+ spec.add_dependency "rubocop", "~> 1.69"
36
+ spec.add_dependency "runcom", "~> 12.0"
37
+ spec.add_dependency "sod", "~> 1.0"
38
+ spec.add_dependency "spek", "~> 4.0"
39
+ spec.add_dependency "tocer", "~> 19.0"
40
+ spec.add_dependency "tone", "~> 2.0"
41
41
  spec.add_dependency "zeitwerk", "~> 2.7"
42
42
 
43
43
  spec.bindir = "exe"
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,11 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubysmith
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.9.0
4
+ version: 8.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain:
11
10
  - |
@@ -35,7 +34,7 @@ cert_chain:
35
34
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
35
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
36
  -----END CERTIFICATE-----
38
- date: 2024-11-09 00:00:00.000000000 Z
37
+ date: 2024-12-28 00:00:00.000000000 Z
39
38
  dependencies:
40
39
  - !ruby/object:Gem::Dependency
41
40
  name: cogger
@@ -43,28 +42,28 @@ dependencies:
43
42
  requirements:
44
43
  - - "~>"
45
44
  - !ruby/object:Gem::Version
46
- version: '0.31'
45
+ version: '1.0'
47
46
  type: :runtime
48
47
  prerelease: false
49
48
  version_requirements: !ruby/object:Gem::Requirement
50
49
  requirements:
51
50
  - - "~>"
52
51
  - !ruby/object:Gem::Version
53
- version: '0.31'
52
+ version: '1.0'
54
53
  - !ruby/object:Gem::Dependency
55
54
  name: containable
56
55
  requirement: !ruby/object:Gem::Requirement
57
56
  requirements:
58
57
  - - "~>"
59
58
  - !ruby/object:Gem::Version
60
- version: '0.2'
59
+ version: '1.0'
61
60
  type: :runtime
62
61
  prerelease: false
63
62
  version_requirements: !ruby/object:Gem::Requirement
64
63
  requirements:
65
64
  - - "~>"
66
65
  - !ruby/object:Gem::Version
67
- version: '0.2'
66
+ version: '1.0'
68
67
  - !ruby/object:Gem::Dependency
69
68
  name: dry-monads
70
69
  requirement: !ruby/object:Gem::Requirement
@@ -99,154 +98,154 @@ dependencies:
99
98
  requirements:
100
99
  - - "~>"
101
100
  - !ruby/object:Gem::Version
102
- version: '2.7'
101
+ version: '3.0'
103
102
  type: :runtime
104
103
  prerelease: false
105
104
  version_requirements: !ruby/object:Gem::Requirement
106
105
  requirements:
107
106
  - - "~>"
108
107
  - !ruby/object:Gem::Version
109
- version: '2.7'
108
+ version: '3.0'
110
109
  - !ruby/object:Gem::Dependency
111
110
  name: gitt
112
111
  requirement: !ruby/object:Gem::Requirement
113
112
  requirements:
114
113
  - - "~>"
115
114
  - !ruby/object:Gem::Version
116
- version: '3.12'
115
+ version: '4.0'
117
116
  type: :runtime
118
117
  prerelease: false
119
118
  version_requirements: !ruby/object:Gem::Requirement
120
119
  requirements:
121
120
  - - "~>"
122
121
  - !ruby/object:Gem::Version
123
- version: '3.12'
122
+ version: '4.0'
124
123
  - !ruby/object:Gem::Dependency
125
124
  name: infusible
126
125
  requirement: !ruby/object:Gem::Requirement
127
126
  requirements:
128
127
  - - "~>"
129
128
  - !ruby/object:Gem::Version
130
- version: '3.12'
129
+ version: '4.0'
131
130
  type: :runtime
132
131
  prerelease: false
133
132
  version_requirements: !ruby/object:Gem::Requirement
134
133
  requirements:
135
134
  - - "~>"
136
135
  - !ruby/object:Gem::Version
137
- version: '3.12'
136
+ version: '4.0'
138
137
  - !ruby/object:Gem::Dependency
139
138
  name: pragmater
140
139
  requirement: !ruby/object:Gem::Requirement
141
140
  requirements:
142
141
  - - "~>"
143
142
  - !ruby/object:Gem::Version
144
- version: '15.7'
143
+ version: '16.0'
145
144
  type: :runtime
146
145
  prerelease: false
147
146
  version_requirements: !ruby/object:Gem::Requirement
148
147
  requirements:
149
148
  - - "~>"
150
149
  - !ruby/object:Gem::Version
151
- version: '15.7'
150
+ version: '16.0'
152
151
  - !ruby/object:Gem::Dependency
153
152
  name: refinements
154
153
  requirement: !ruby/object:Gem::Requirement
155
154
  requirements:
156
155
  - - "~>"
157
156
  - !ruby/object:Gem::Version
158
- version: '12.10'
157
+ version: '13.0'
159
158
  type: :runtime
160
159
  prerelease: false
161
160
  version_requirements: !ruby/object:Gem::Requirement
162
161
  requirements:
163
162
  - - "~>"
164
163
  - !ruby/object:Gem::Version
165
- version: '12.10'
164
+ version: '13.0'
166
165
  - !ruby/object:Gem::Dependency
167
166
  name: rubocop
168
167
  requirement: !ruby/object:Gem::Requirement
169
168
  requirements:
170
169
  - - "~>"
171
170
  - !ruby/object:Gem::Version
172
- version: '1.66'
171
+ version: '1.69'
173
172
  type: :runtime
174
173
  prerelease: false
175
174
  version_requirements: !ruby/object:Gem::Requirement
176
175
  requirements:
177
176
  - - "~>"
178
177
  - !ruby/object:Gem::Version
179
- version: '1.66'
178
+ version: '1.69'
180
179
  - !ruby/object:Gem::Dependency
181
180
  name: runcom
182
181
  requirement: !ruby/object:Gem::Requirement
183
182
  requirements:
184
183
  - - "~>"
185
184
  - !ruby/object:Gem::Version
186
- version: '11.10'
185
+ version: '12.0'
187
186
  type: :runtime
188
187
  prerelease: false
189
188
  version_requirements: !ruby/object:Gem::Requirement
190
189
  requirements:
191
190
  - - "~>"
192
191
  - !ruby/object:Gem::Version
193
- version: '11.10'
192
+ version: '12.0'
194
193
  - !ruby/object:Gem::Dependency
195
194
  name: sod
196
195
  requirement: !ruby/object:Gem::Requirement
197
196
  requirements:
198
197
  - - "~>"
199
198
  - !ruby/object:Gem::Version
200
- version: '0.20'
199
+ version: '1.0'
201
200
  type: :runtime
202
201
  prerelease: false
203
202
  version_requirements: !ruby/object:Gem::Requirement
204
203
  requirements:
205
204
  - - "~>"
206
205
  - !ruby/object:Gem::Version
207
- version: '0.20'
206
+ version: '1.0'
208
207
  - !ruby/object:Gem::Dependency
209
208
  name: spek
210
209
  requirement: !ruby/object:Gem::Requirement
211
210
  requirements:
212
211
  - - "~>"
213
212
  - !ruby/object:Gem::Version
214
- version: '3.0'
213
+ version: '4.0'
215
214
  type: :runtime
216
215
  prerelease: false
217
216
  version_requirements: !ruby/object:Gem::Requirement
218
217
  requirements:
219
218
  - - "~>"
220
219
  - !ruby/object:Gem::Version
221
- version: '3.0'
220
+ version: '4.0'
222
221
  - !ruby/object:Gem::Dependency
223
222
  name: tocer
224
223
  requirement: !ruby/object:Gem::Requirement
225
224
  requirements:
226
225
  - - "~>"
227
226
  - !ruby/object:Gem::Version
228
- version: '18.7'
227
+ version: '19.0'
229
228
  type: :runtime
230
229
  prerelease: false
231
230
  version_requirements: !ruby/object:Gem::Requirement
232
231
  requirements:
233
232
  - - "~>"
234
233
  - !ruby/object:Gem::Version
235
- version: '18.7'
234
+ version: '19.0'
236
235
  - !ruby/object:Gem::Dependency
237
236
  name: tone
238
237
  requirement: !ruby/object:Gem::Requirement
239
238
  requirements:
240
239
  - - "~>"
241
240
  - !ruby/object:Gem::Version
242
- version: '1.10'
241
+ version: '2.0'
243
242
  type: :runtime
244
243
  prerelease: false
245
244
  version_requirements: !ruby/object:Gem::Requirement
246
245
  requirements:
247
246
  - - "~>"
248
247
  - !ruby/object:Gem::Version
249
- version: '1.10'
248
+ version: '2.0'
250
249
  - !ruby/object:Gem::Dependency
251
250
  name: zeitwerk
252
251
  requirement: !ruby/object:Gem::Requirement
@@ -261,7 +260,6 @@ dependencies:
261
260
  - - "~>"
262
261
  - !ruby/object:Gem::Version
263
262
  version: '2.7'
264
- description:
265
263
  email:
266
264
  - brooke@alchemists.io
267
265
  executables:
@@ -301,7 +299,6 @@ files:
301
299
  - lib/rubysmith/builders/git_hub/ci.rb
302
300
  - lib/rubysmith/builders/git_hub/funding.rb
303
301
  - lib/rubysmith/builders/git_hub/template.rb
304
- - lib/rubysmith/builders/guard.rb
305
302
  - lib/rubysmith/builders/init.rb
306
303
  - lib/rubysmith/builders/rake/binstub.rb
307
304
  - lib/rubysmith/builders/rake/configuration.rb
@@ -329,7 +326,6 @@ files:
329
326
  - lib/rubysmith/cli/actions/git_hub.rb
330
327
  - lib/rubysmith/cli/actions/git_hub_ci.rb
331
328
  - lib/rubysmith/cli/actions/git_lint.rb
332
- - lib/rubysmith/cli/actions/guard.rb
333
329
  - lib/rubysmith/cli/actions/irb_kit.rb
334
330
  - lib/rubysmith/cli/actions/license.rb
335
331
  - lib/rubysmith/cli/actions/maximum.rb
@@ -356,11 +352,11 @@ files:
356
352
  - lib/rubysmith/configuration/transformers/git_user.rb
357
353
  - lib/rubysmith/configuration/transformers/template_root.rb
358
354
  - lib/rubysmith/container.rb
355
+ - lib/rubysmith/dependencies.rb
359
356
  - lib/rubysmith/extensions/bundler.rb
360
357
  - lib/rubysmith/extensions/pragmater.rb
361
358
  - lib/rubysmith/extensions/rubocop.rb
362
359
  - lib/rubysmith/extensions/tocer.rb
363
- - lib/rubysmith/import.rb
364
360
  - lib/rubysmith/pathway.rb
365
361
  - lib/rubysmith/renderers/erb.rb
366
362
  - lib/rubysmith/renderers/namespace.rb
@@ -380,7 +376,6 @@ files:
380
376
  - lib/rubysmith/templates/%project_name%/CITATION.cff.erb
381
377
  - lib/rubysmith/templates/%project_name%/Dockerfile.erb
382
378
  - lib/rubysmith/templates/%project_name%/Gemfile.erb
383
- - lib/rubysmith/templates/%project_name%/Guardfile.erb
384
379
  - lib/rubysmith/templates/%project_name%/LICENSE-apache.adoc.erb
385
380
  - lib/rubysmith/templates/%project_name%/LICENSE-apache.md.erb
386
381
  - lib/rubysmith/templates/%project_name%/LICENSE-fair.adoc.erb
@@ -398,7 +393,6 @@ files:
398
393
  - lib/rubysmith/templates/%project_name%/bin/docker/build.erb
399
394
  - lib/rubysmith/templates/%project_name%/bin/docker/console.erb
400
395
  - lib/rubysmith/templates/%project_name%/bin/docker/entrypoint.erb
401
- - lib/rubysmith/templates/%project_name%/bin/guard.erb
402
396
  - lib/rubysmith/templates/%project_name%/bin/rake.erb
403
397
  - lib/rubysmith/templates/%project_name%/bin/rspec.erb
404
398
  - lib/rubysmith/templates/%project_name%/bin/rubocop.erb
@@ -420,16 +414,12 @@ metadata:
420
414
  label: Rubysmith
421
415
  rubygems_mfa_required: 'true'
422
416
  source_code_uri: https://github.com/bkuhlmann/rubysmith
423
- post_install_message:
424
417
  rdoc_options: []
425
418
  require_paths:
426
419
  - lib
427
420
  required_ruby_version: !ruby/object:Gem::Requirement
428
421
  requirements:
429
- - - ">="
430
- - !ruby/object:Gem::Version
431
- version: '3.3'
432
- - - "<="
422
+ - - "~>"
433
423
  - !ruby/object:Gem::Version
434
424
  version: '3.4'
435
425
  required_rubygems_version: !ruby/object:Gem::Requirement
@@ -438,8 +428,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
438
428
  - !ruby/object:Gem::Version
439
429
  version: '0'
440
430
  requirements: []
441
- rubygems_version: 3.5.23
442
- signing_key:
431
+ rubygems_version: 3.6.2
443
432
  specification_version: 4
444
433
  summary: A command line interface for smithing Ruby projects.
445
434
  test_files: []
metadata.gz.sig CHANGED
@@ -1 +1,4 @@
1
- k]�&���請�[3%�E�����PnS9�W����l�x�����3����l���L,|���Y؄L(>az����o#s�]ߐl������q~��,<��XTʑ�1�����x68��,:�?���W����$O�u����d��{� \&���+o+f�!nwW~;�/V���,aO΃%�4v�.4A���kG���8��xVlGZOՌ�r5��9� ���Ʒ�\�4u�
1
+ `��(ᕮo���5A*���WN �l�x혵���͡����O�� L��� �f�H
2
+ Z��0���_q����܃���:ý.;E�nJ�0�����F5�1��*�>8ֳs�㐆�\s7Z��t�\:o�>]��.m��?~�>f�j���P��!�͆2�m���s+���=��c�&�s��ڧ�إ��}�Я�o�d�ai�����oc�����[�'��k����r�
3
+ C���pq�K���B
4
+ Y(l��ջ�$7�!�J�Y� ���T��<n����_k\
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "refinements/struct"
4
-
5
- module Rubysmith
6
- module Builders
7
- # Builds project skeleton Guard support for a red, green, refactor loop.
8
- class Guard < Abstract
9
- using Refinements::Struct
10
-
11
- def call
12
- return false unless settings.build_guard
13
-
14
- builder.call(settings.merge(template_path: "%project_name%/bin/guard.erb"))
15
- .render
16
- .permit 0o755
17
-
18
- builder.call(settings.merge(template_path: "%project_name%/Guardfile.erb")).render
19
- true
20
- end
21
- end
22
- end
23
- end
@@ -1,24 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "sod"
4
-
5
- module Rubysmith
6
- module CLI
7
- module Actions
8
- # Stores Guard flag.
9
- class Guard < Sod::Action
10
- include Import[:settings]
11
-
12
- description "Add Guard gem."
13
-
14
- ancillary "DEPRECATED: Will be removed in next major version."
15
-
16
- on "--[no-]guard"
17
-
18
- default { Container[:settings].build_guard }
19
-
20
- def call(boolean) = settings.build_guard = boolean
21
- end
22
- end
23
- end
24
- end
@@ -1,5 +0,0 @@
1
- guard :rspec, cmd: "NO_COVERAGE=true bin/rspec --format documentation" do
2
- watch %r(^spec/.+_spec\.rb$)
3
- watch(%r(^lib/(.+)\.rb$)) { |m| "spec/lib/#{m[1]}_spec.rb" }
4
- watch("spec/spec_helper.rb") { "spec" }
5
- end
@@ -1,5 +0,0 @@
1
- #! /usr/bin/env ruby
2
-
3
- require "bundler/setup"
4
-
5
- load Gem.bin_path "guard", "guard"