Repository navigation
fix: locate the maps registry yaml under rubygems 4 - #831
Merged
Merged
Conversation
rubygems 4 removed StubSpecification#files, which Gem.find_latest_files relies on - on rubygems-4 installs every Interscript.transliterate call raised from map_gems before any map could load. The fast path is kept for rubygems 3 and wrapped: when it raises (or comes back empty), the fallback globs the interscript-maps gems directly (one or two gems, cheap). Verified on a rubygems-4.0.23 install where the gem index is in stub-only state: map resolution and transliteration work without any workaround; rubygems-3 behavior unchanged (fast path intact).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Gem.find_latest_files raises on rubygems 4 (StubSpecification#files removed), which made map_gems - and therefore every transliterate call - fail before any map could load on modern rubygems installs. Keeps the rubygems-3 fast path, adds a precise fallback (glob the interscript-maps gems), and adds spec coverage for both paths. Verified on a rubygems-4.0.23 machine in stub-only index state.