Ensure ancient Ruby compatibility in vscode/activation.rb
#3250
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.
This ensures if the version is bumped in development, it is also added
to the matrix.
Motivation
vscode/activation.rb
is run by the extension to collect Ruby version information.This means it may run against an unknown Ruby version, which means we can't rely on recent syntax/method support. We want the script to run without error even on these old versions, so that we can correctly detect the Ruby version and detect if we support it.
Implementation
This replaces
filter_map
with.map { ... }.compact
, which ensures the activation script doesn't blow up on old Ruby versions.It also configures CI to check for this to ensure no regressions are introduced.
Automated Tests
Yes, see above ☝️
Before Merging