Module: IsoDoc::ClassUtils
- Included in:
- Common
- Defined in:
- lib/isodoc/class_utils.rb
Instance Method Summary collapse
Instance Method Details
#date_range(date) ⇒ Object
3 4 5 6 7 8 9 10 11 |
# File 'lib/isodoc/class_utils.rb', line 3 def date_range(date) from = date.at(ns("./from")) to = date.at(ns("./to")) on = date.at(ns("./on")) return on.text if on ret = "#{from.text}–" ret += to.text if to ret end |
#liquid(doc) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/isodoc/class_utils.rb', line 20 def liquid(doc) # unescape HTML escapes in doc doc = doc.split(%r<(\{%|\}%)>).each_slice(4).map do |a| a[2].gsub!("<", "<").gsub!(">", ">") if a.size > 2 a.join("") end.join("") Liquid::Template.parse(doc) end |
#ns(xpath) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/isodoc/class_utils.rb', line 13 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 |