mirror of https://github.com/rails/rails
Don't make rexml an dependency of activesupport
rexml is only used in the xml_mini backend and it should be the users choice if they want to use that feature or not. If they do we will warn them that installing rexml is needed like we do with all backends.
This commit is contained in:
parent
357013d366
commit
f624ed09ab
1
Gemfile
1
Gemfile
|
@ -48,6 +48,7 @@ gem "dalli"
|
||||||
gem "listen", "~> 3.2", require: false, github: "guard/listen"
|
gem "listen", "~> 3.2", require: false, github: "guard/listen"
|
||||||
gem "libxml-ruby", platforms: :ruby
|
gem "libxml-ruby", platforms: :ruby
|
||||||
gem "connection_pool", require: false
|
gem "connection_pool", require: false
|
||||||
|
gem "rexml", require: false
|
||||||
|
|
||||||
# for railties app_generator_test
|
# for railties app_generator_test
|
||||||
gem "bootsnap", ">= 1.4.4", require: false
|
gem "bootsnap", ">= 1.4.4", require: false
|
||||||
|
|
|
@ -95,7 +95,6 @@ PATH
|
||||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
i18n (>= 1.6, < 2)
|
i18n (>= 1.6, < 2)
|
||||||
minitest (>= 5.1)
|
minitest (>= 5.1)
|
||||||
rexml
|
|
||||||
tzinfo (~> 2.0)
|
tzinfo (~> 2.0)
|
||||||
zeitwerk (~> 2.3)
|
zeitwerk (~> 2.3)
|
||||||
rails (6.1.0.alpha)
|
rails (6.1.0.alpha)
|
||||||
|
@ -607,6 +606,7 @@ DEPENDENCIES
|
||||||
redis-namespace!
|
redis-namespace!
|
||||||
resque
|
resque
|
||||||
resque-scheduler
|
resque-scheduler
|
||||||
|
rexml
|
||||||
rouge
|
rouge
|
||||||
rubocop (>= 0.90)
|
rubocop (>= 0.90)
|
||||||
rubocop-packaging
|
rubocop-packaging
|
||||||
|
|
|
@ -38,5 +38,4 @@ Gem::Specification.new do |s|
|
||||||
s.add_dependency "concurrent-ruby", "~> 1.0", ">= 1.0.2"
|
s.add_dependency "concurrent-ruby", "~> 1.0", ">= 1.0.2"
|
||||||
s.add_dependency "zeitwerk", "~> 2.3"
|
s.add_dependency "zeitwerk", "~> 2.3"
|
||||||
s.add_dependency "minitest", ">= 5.1"
|
s.add_dependency "minitest", ">= 5.1"
|
||||||
s.add_dependency "rexml"
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -25,7 +25,7 @@ module ActiveSupport
|
||||||
if data.eof?
|
if data.eof?
|
||||||
{}
|
{}
|
||||||
else
|
else
|
||||||
silence_warnings { require "rexml/document" } unless defined?(REXML::Document)
|
require_rexml unless defined?(REXML::Document)
|
||||||
doc = REXML::Document.new(data)
|
doc = REXML::Document.new(data)
|
||||||
|
|
||||||
if doc.root
|
if doc.root
|
||||||
|
@ -38,6 +38,14 @@ module ActiveSupport
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
def require_rexml
|
||||||
|
silence_warnings { require "rexml/document" }
|
||||||
|
rescue LoadError => e
|
||||||
|
$stderr.puts "You don't have rexml installed in your application. Please add it to your Gemfile and run bundle install"
|
||||||
|
raise e
|
||||||
|
end
|
||||||
|
|
||||||
# Convert an XML element and merge into the hash
|
# Convert an XML element and merge into the hash
|
||||||
#
|
#
|
||||||
# hash::
|
# hash::
|
||||||
|
|
Loading…
Reference in New Issue