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!("&lt;", "<").gsub!("&gt;", ">") 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