diff options
| author | Kevin Newton <kddnewton@gmail.com> | 2025-10-16 09:20:03 -0400 |
|---|---|---|
| committer | git <svn-admin@ruby-lang.org> | 2025-10-16 13:20:44 +0000 |
| commit | 99929d6f2b8433d5d2573054f08070e8a4c6bac3 (patch) | |
| tree | f30b7e91852183fd4f8f23b5ff0550e74a7c8996 | |
| parent | ea4c3169c1629eddae57ab218cf50974404a76ad (diff) | |
[ruby/prism] Do not rely on Gem being loaded
https://github.com/ruby/prism/commit/2466940e49
| -rw-r--r-- | lib/prism.rb | 9 |
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." |
