From 3842a4e72cb4c88e1e0950a43d36b009d8bfb7d7 Mon Sep 17 00:00:00 2001 From: Nipun Paradkar Date: Mon, 19 Jan 2026 20:03:27 +0530 Subject: [PATCH] Integrate Zeitwerk code loader For no specific reason than the fact that I hate keeping track of what dependencies need to be required in a file. --- Gemfile.lock | 2 ++ lib/vauth.rb | 4 +++- lib/vauth/authorization_code_grant.rb | 1 - lib/vauth/identity_token.rb | 2 ++ test/test_helper.rb | 5 +++++ test/vauth/authorization_code_grant_test.rb | 4 ---- test/vauth/authorization_request_test.rb | 1 - test/vauth/client_test.rb | 3 --- test/vauth/identity_token_test.rb | 3 --- vauth.gemspec | 1 + 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index abdacba..ab6bf26 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,6 +3,7 @@ PATH specs: vauth (0.1.0) jwt (~> 3.1, >= 3.1.2) + zeitwerk (~> 2.7, >= 2.7.4) GEM remote: https://rubygems.org/ @@ -66,6 +67,7 @@ GEM unicode-display_width (3.2.0) unicode-emoji (~> 4.1) unicode-emoji (4.2.0) + zeitwerk (2.7.4) PLATFORMS ruby diff --git a/lib/vauth.rb b/lib/vauth.rb index 258597e..bc3d9c5 100644 --- a/lib/vauth.rb +++ b/lib/vauth.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true -require_relative "vauth/version" +require "zeitwerk" + +Zeitwerk::Loader.for_gem.setup module Vauth class StateMismatchError < StandardError; end diff --git a/lib/vauth/authorization_code_grant.rb b/lib/vauth/authorization_code_grant.rb index fe79b6d..35d78ee 100644 --- a/lib/vauth/authorization_code_grant.rb +++ b/lib/vauth/authorization_code_grant.rb @@ -2,7 +2,6 @@ require "json" require "net/http" -require "vauth/identity_token" module Vauth class AuthorizationCodeGrant # :nodoc: diff --git a/lib/vauth/identity_token.rb b/lib/vauth/identity_token.rb index 992d636..a515de6 100644 --- a/lib/vauth/identity_token.rb +++ b/lib/vauth/identity_token.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require "jwt" + module Vauth class IdentityToken # :nodoc: def initialize(jwt_id_token) diff --git a/test/test_helper.rb b/test/test_helper.rb index 905e9aa..e648fc0 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -4,3 +4,8 @@ require "vauth" require "minitest/autorun" + +require "json" +require "jwt" +require "net/http" +require "uri" diff --git a/test/vauth/authorization_code_grant_test.rb b/test/vauth/authorization_code_grant_test.rb index 416e480..e214d6c 100644 --- a/test/vauth/authorization_code_grant_test.rb +++ b/test/vauth/authorization_code_grant_test.rb @@ -1,10 +1,6 @@ # frozen_string_literal: true require "test_helper" -require "vauth/client" -require "vauth/authorization_code_grant" -require "vauth/identity_token" -require "vauth/authorization_request" describe ::Vauth::AuthorizationCodeGrant do subject { ::Vauth::AuthorizationCodeGrant.new(request, code, state) } diff --git a/test/vauth/authorization_request_test.rb b/test/vauth/authorization_request_test.rb index eed8a85..88d3015 100644 --- a/test/vauth/authorization_request_test.rb +++ b/test/vauth/authorization_request_test.rb @@ -1,7 +1,6 @@ # frozen_string_literal: true require "test_helper" -require "vauth/authorization_request" describe ::Vauth::AuthorizationRequest do subject { ::Vauth::AuthorizationRequest.new(client) } diff --git a/test/vauth/client_test.rb b/test/vauth/client_test.rb index c1bddb8..8b450a0 100644 --- a/test/vauth/client_test.rb +++ b/test/vauth/client_test.rb @@ -1,9 +1,6 @@ # frozen_string_literal: true require "test_helper" -require "uri" - -require "vauth/client" describe ::Vauth::Client do subject do diff --git a/test/vauth/identity_token_test.rb b/test/vauth/identity_token_test.rb index 0e9ffc0..3b33f40 100644 --- a/test/vauth/identity_token_test.rb +++ b/test/vauth/identity_token_test.rb @@ -1,9 +1,6 @@ # frozen_string_literal: true require "test_helper" -require "jwt" - -require "vauth/identity_token" describe ::Vauth::IdentityToken do let(:id_token_jwt) do diff --git a/vauth.gemspec b/vauth.gemspec index ab105ac..8388a80 100644 --- a/vauth.gemspec +++ b/vauth.gemspec @@ -34,6 +34,7 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] spec.add_dependency "jwt", "~> 3.1", ">= 3.1.2" + spec.add_dependency "zeitwerk", "~> 2.7", ">= 2.7.4" # For more information and examples about making a new gem, check out our # guide at: https://bundler.io/guides/creating_gem.html