summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Newton <kddnewton@gmail.com>2025-10-16 09:20:03 -0400
committergit <svn-admin@ruby-lang.org>2025-10-16 13:20:44 +0000
commit99929d6f2b8433d5d2573054f08070e8a4c6bac3 (patch)
treef30b7e91852183fd4f8f23b5ff0550e74a7c8996
parentea4c3169c1629eddae57ab218cf50974404a76ad (diff)
[ruby/prism] Do not rely on Gem being loaded
https://github.com/ruby/prism/commit/2466940e49
-rw-r--r--lib/prism.rb9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/prism.rb b/lib/prism.rb
index 2cbe196b57..bae5427e79 100644
--- a/lib/prism.rb
+++ b/lib/prism.rb
@@ -42,13 +42,12 @@ module Prism
# Initialize a new exception for the given ruby version string.
def initialize(version)
message = +"invalid version: Requested to parse as `version: 'current'`; "
- gem_version =
- begin
- Gem::Version.new(version)
- rescue ArgumentError
+ segments =
+ if version.match?(/\A\d+\.\d+.\d+\z/)
+ version.split(".").map(&:to_i)
end
- if gem_version && gem_version < Gem::Version.new("3.3.0")
+ if segments && (segments[0] < 3) || (segments[0] == 3 && segments[1] < 3)
message << " #{version} is below the minimum supported syntax."
else
message << " #{version} is unknown. Please update the `prism` gem."