lib/asciidoctor/iso/front.rb in asciidoctor-iso-0.7.0 vs lib/asciidoctor/iso/front.rb in asciidoctor-iso-0.7.1
- old
+ new
@@ -32,37 +32,46 @@
out.send compname.gsub(/-/, "_"), node.attr(compname),
**attr_code(number: node.attr("#{compname}-number"),
type: node.attr("#{compname}-type"))
end
- def metadata_author(_node, xml)
- xml.contributor do |c|
- c.role **{ type: "author" }
- c.organization do |a|
- a.name "ISO"
+ def organization(org, orgname)
+ if ["ISO",
+ "International Organization for Standardization"].include? orgname
+ org.name "International Organization for Standardization"
+ org.abbreviation "ISO"
+ else
+ org.name orgname
+ end
+ end
+
+ def metadata_author(node, xml)
+ publishers = node.attr("publisher") || "ISO"
+ publishers.split(/,[ ]?/).each do |p|
+ xml.contributor do |c|
+ c.role **{ type: "author" }
+ c.organization { |a| organization(a, p) }
end
end
end
def metadata_publisher(node, xml)
publishers = node.attr("publisher") || "ISO"
publishers.split(/,[ ]?/).each do |p|
xml.contributor do |c|
c.role **{ type: "publisher" }
- c.organization do |a|
- a.name p
- end
+ c.organization { |a| organization(a, p) }
end
end
end
def metadata_copyright(node, xml)
- from = node.attr("copyright-year") || Date.today.year
- xml.copyright do |c|
- c.from from
- c.owner do |owner|
- owner.organization do |o|
- o.name "ISO"
+ publishers = node.attr("publisher") || "ISO"
+ publishers.split(/,[ ]?/).each do |p|
+ xml.copyright do |c|
+ c.from (node.attr("copyright-year") || Date.today.year)
+ c.owner do |owner|
+ owner.organization { |o| organization(o, p) }
end
end
end
end