Sha256: 23f3f87f580e824590c3b5ad600278cb855c11edcaf240d91dc35dda7c17b08c
Contents?: true
Size: 829 Bytes
Versions: 2
Compression:
Stored size: 829 Bytes
Contents
module IsoDoc module ClassUtils def date_range(date) from = date.at(ns("./from")) to = date.at(ns("./to")) on = date.at(ns("./on")) return date.text unless from || on || to return on.text if on ret = "#{from.text}–" ret += to.text if to ret end def ns(xpath) xpath.gsub(%r{/([a-zA-z])}, "/xmlns:\\1") .gsub(%r{::([a-zA-z])}, "::xmlns:\\1") .gsub(%r{\[([a-zA-z][a-z0-9A-Z@/]* ?=)}, "[xmlns:\\1") .gsub(%r{\[([a-zA-z][a-z0-9A-Z@/]*\])}, "[xmlns:\\1") end def liquid(doc) # unescape HTML escapes in doc doc = doc.split(%r<(\{%|%\})>).each_slice(4).map do |a| a[2] = a[2].gsub("<", "<").gsub(">", ">") if a.size > 2 a.join end.join Liquid::Template.parse(doc) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
isodoc-1.7.6.1 | lib/isodoc/class_utils.rb |
isodoc-1.7.6 | lib/isodoc/class_utils.rb |