From 6f47e605a2aed1ef14ba676fc94c20d9b6bfb668 Mon Sep 17 00:00:00 2001 From: twokidsCarl Date: Tue, 7 Apr 2026 22:22:56 -0700 Subject: [PATCH] Fix native extension loading for versioned Ruby directories The precompiled gem ships `.bundle` files under versioned subdirectories (e.g. `lib/bubblezone/3.4/`, `lib/bubblezone/4.0/`) but the loader uses `require_relative "bubblezone/bubblezone"` which only looks in the top-level directory. Try the versioned path `bubblezone/{major}.{minor}/bubblezone` first, falling back to the unversioned path. This matches the approach used by bubbletea-ruby. Co-Authored-By: Claude Opus 4.6 --- lib/bubblezone.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/bubblezone.rb b/lib/bubblezone.rb index f9f747e..abb4ce4 100644 --- a/lib/bubblezone.rb +++ b/lib/bubblezone.rb @@ -1,7 +1,13 @@ # frozen_string_literal: true require_relative "bubblezone/version" -require_relative "bubblezone/bubblezone" + +begin + major, minor, = RUBY_VERSION.split(".") + require_relative "bubblezone/#{major}.#{minor}/bubblezone" +rescue LoadError + require_relative "bubblezone/bubblezone" +end require_relative "bubblezone/manager" require_relative "bubblezone/zone_info"