From aad63b2cd3c2779590b18a317f908b43bd057341 Mon Sep 17 00:00:00 2001 From: Alex Koval Date: Sat, 8 Nov 2025 17:05:34 +0100 Subject: [PATCH] feat!: use zeitwerk for code loading --- .claude/settings.local.json | 3 ++- CHANGELOG.md | 1 - Gemfile.lock | 2 +- exe/gemfather | 2 +- gemfather.gemspec | 6 +++--- lib/gemfather/cli.rb | 3 +-- lib/gemfather_cli.rb | 4 ++++ 7 files changed, 12 insertions(+), 9 deletions(-) diff --git a/.claude/settings.local.json b/.claude/settings.local.json index c562b5f..fe36b6c 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -1,7 +1,8 @@ { "permissions": { "allow": [ - "Bash(ruby:*)" + "Bash(ruby:*)", + "Bash(make:*)" ], "deny": [], "ask": [] diff --git a/CHANGELOG.md b/CHANGELOG.md index 83e706b..486fa72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,4 +6,3 @@ ### Features * new settings, release please and templates ([a3cd69e](https://github.com/k0va1/gemfather-cli/commit/a3cd69e92eac50d87a9890424b15a720d1e7b1a2)) -* new settings, release please and templates ([5f0a6d1](https://github.com/k0va1/gemfather-cli/commit/5f0a6d1133c0cd5c0b2962ec7b7008f44e6261c5)) diff --git a/Gemfile.lock b/Gemfile.lock index b0183f6..5cda0f2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,7 +3,7 @@ PATH specs: gemfather-cli (0.2.1) tty-prompt (~> 0.23) - zeitwerk (~> 2.6) + zeitwerk (~> 2.7) GEM remote: https://rubygems.org/ diff --git a/exe/gemfather b/exe/gemfather index c64bb97..6fb6f0b 100755 --- a/exe/gemfather +++ b/exe/gemfather @@ -1,6 +1,6 @@ #!/usr/bin/env ruby require "bundler/setup" -require "gemfather/cli" +require "gemfather_cli" Gemfather::Cli::Runner.new.call diff --git a/gemfather.gemspec b/gemfather.gemspec index 33a7842..1a7286b 100644 --- a/gemfather.gemspec +++ b/gemfather.gemspec @@ -14,14 +14,14 @@ Gem::Specification.new do |spec| spec.metadata["homepage_uri"] = spec.homepage spec.metadata["source_code_uri"] = spec.homepage - spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/main/CHANGELOG.md" + spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/master/CHANGELOG.md" spec.files = Dir.glob("{lib,templates}/**/*", File::FNM_DOTMATCH) + %w[LICENSE.txt README.md CHANGELOG.md] spec.bindir = "exe" spec.executables = ["gemfather"] - spec.add_dependency "zeitwerk", "~> 2.6" - spec.add_runtime_dependency("tty-prompt", "~> 0.23") + spec.add_dependency "zeitwerk", "~> 2.7" + spec.add_dependency "tty-prompt", "~> 0.23" spec.add_development_dependency "bundler", "~> 2.0" spec.add_development_dependency "rake", "~> 13.0" diff --git a/lib/gemfather/cli.rb b/lib/gemfather/cli.rb index b8318ca..c17a642 100644 --- a/lib/gemfather/cli.rb +++ b/lib/gemfather/cli.rb @@ -1,4 +1,3 @@ -require_relative "cli/settings_builder" require "fileutils" require "erb" @@ -9,7 +8,7 @@ class Error < StandardError; end class Runner attr_accessor :settings_builder, :settings - def initialize(settings_builder: Gemfather::Cli::SettingsBuilder.new) + def initialize(settings_builder: ::Gemfather::Cli::SettingsBuilder.new) @settings_builder = settings_builder @settings = @settings_builder.call end diff --git a/lib/gemfather_cli.rb b/lib/gemfather_cli.rb index 8db8da3..7601d4e 100644 --- a/lib/gemfather_cli.rb +++ b/lib/gemfather_cli.rb @@ -1 +1,5 @@ +require "zeitwerk" +loader = Zeitwerk::Loader.for_gem(warn_on_extra_files: false) +loader.setup + require "gemfather/cli"