Merge pull request #2604 from kimyu92/0.11-stable-ruby-3

backport ruby 2.7+ deprecations to 0.11.x
This commit is contained in:
Mitsuhiro Shibuya 2022-04-25 16:18:13 +09:00 committed by GitHub
commit c5841fb894
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 5 deletions

View File

@ -291,7 +291,7 @@ module CarrierWave
def mkdir!(path, directory_permissions)
options = {}
options[:mode] = directory_permissions if directory_permissions
FileUtils.mkdir_p(File.dirname(path), options) unless File.exists?(File.dirname(path))
FileUtils.mkdir_p(File.dirname(path), **options) unless File.exists?(File.dirname(path))
end
def chmod!(path, permissions)

View File

@ -337,7 +337,7 @@ module CarrierWave
#
def filename(options = {})
if file_url = url(options)
URI.decode(file_url).gsub(/.*\/(.*?$)/, '\1').split('?').first
URI::DEFAULT_PARSER.unescape(file_url).gsub(/.*\/(.*?$)/, '\1').split('?').first
end
end

View File

@ -37,7 +37,7 @@ module CarrierWave
def file
if @file.blank?
@file = Kernel.open(@uri.to_s)
@file = URI.open(@uri.to_s)
@file = @file.is_a?(String) ? StringIO.new(@file) : @file
end
@file
@ -84,8 +84,8 @@ module CarrierWave
rescue URI::InvalidURIError
uri_parts = uri.split('?')
# regexp from Ruby's URI::Parser#regexp[:UNSAFE], with [] specifically removed
encoded_uri = URI.encode(uri_parts.shift, /[^\-_.!~*'()a-zA-Z\d;\/?:@&=+$,]/)
encoded_uri << '?' << URI.encode(uri_parts.join('?')) if uri_parts.any?
encoded_uri = URI::DEFAULT_PARSER.escape(uri_parts.shift, /[^\-_.!~*'()a-zA-Z\d;\/?:@&=+$,]/)
encoded_uri << '?' << URI::DEFAULT_PARSER.escape(uri_parts.join('?')) if uri_parts.any?
URI.parse(encoded_uri) rescue raise CarrierWave::DownloadError, "couldn't parse URL"
end