Итак, допустим, у меня есть шаблон конструктора, подобный следующему:
builder = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
xml.environment do |environment|
environment.title title
environment.feed feed
environment.status status
environment.description description
# many many more
end
end
builder.to_xml
Если бы feed
и description
были nil
, он мог бы вывести:
<?xml version="1.0" encoding="UTF-8"?>
<environment>
<title>title</title>
<feed/>
<status>status</status>
<description/>
</environment>
Я бы предпочел, чтобы он полностью игнорировал ноль. Какой лучший способ добиться этого?
Желаемый выход:
<?xml version="1.0" encoding="UTF-8"?>
<environment>
<title>title</title>
<status>status</status>
</environment>
Текущее решение:
builder = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') do |xml|
xml.environment do |environment|
environment.title title if title
environment.feed feed if feed
environment.status status if status
environment.description description if description
# many many more
end
end
builder.to_xml
Есть ли более чистый путь?
Будет ли это полезной опцией при инициализации Builder #?
builder = Nokogiri::XML::Builder.new(:encoding => 'UTF-8', :empty_nodes => false)