mirror of
https://github.com/ruby/ruby.git
synced 2026-01-27 04:24:23 +00:00
[ruby/rubygems] Support single quotes in mise format ruby version
https://github.com/ruby/rubygems/commit/a7d7ab39dd
This commit is contained in:
parent
3b3ab33851
commit
3b50f4ba41
@ -42,16 +42,16 @@ module Bundler
|
||||
# Loads the file relative to the dirname of the Gemfile itself.
|
||||
def normalize_ruby_file(filename)
|
||||
file_content = Bundler.read_file(gemfile.dirname.join(filename))
|
||||
# match "ruby-3.2.2", ruby = "3.2.2" or "ruby 3.2.2" capturing version string up to the first space or comment
|
||||
# match "ruby-3.2.2", ruby = "3.2.2", ruby = '3.2.2' or "ruby 3.2.2" capturing version string up to the first space or comment
|
||||
if /^ # Start of line
|
||||
ruby # Literal "ruby"
|
||||
[\s-]* # Optional whitespace or hyphens (for "ruby-3.2.2" format)
|
||||
(?:=\s*)? # Optional equals sign with whitespace (for ruby = "3.2.2" format)
|
||||
"? # Optional opening quote
|
||||
["']? # Optional opening quote
|
||||
( # Start capturing group
|
||||
[^\s#"]+ # One or more chars that aren't spaces, #, or quotes
|
||||
[^\s#"']+ # One or more chars that aren't spaces, #, or quotes
|
||||
) # End capturing group
|
||||
"? # Optional closing quote
|
||||
["']? # Optional closing quote
|
||||
/x.match(file_content)
|
||||
$1
|
||||
else
|
||||
|
||||
@ -178,11 +178,21 @@ RSpec.describe Bundler::RubyDsl do
|
||||
let(:file_content) do
|
||||
<<~TOML
|
||||
[tools]
|
||||
ruby = "#{version}"
|
||||
ruby = #{quote}#{version}#{quote}
|
||||
TOML
|
||||
end
|
||||
|
||||
it_behaves_like "it stores the ruby version"
|
||||
context "with double quotes" do
|
||||
let(:quote) { '"' }
|
||||
|
||||
it_behaves_like "it stores the ruby version"
|
||||
end
|
||||
|
||||
context "with single quotes" do
|
||||
let(:quote) { "'" }
|
||||
|
||||
it_behaves_like "it stores the ruby version"
|
||||
end
|
||||
end
|
||||
|
||||
context "with a .tool-versions file format" do
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user