rubysmith 7.9.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
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"