Sha256: 2ea9befaf45d5c271981eecce4b813822c63d5847193df9556c4ac975f9ece37
Contents?: true
Size: 901 Bytes
Versions: 10
Compression:
Stored size: 901 Bytes
Contents
require "cgi" require "date" module Gyoku module XMLValue class << self # xs:date format XS_DATE_FORMAT = "%Y-%m-%d" # xs:time format XS_TIME_FORMAT = "%H:%M:%S" # xs:dateTime format XS_DATETIME_FORMAT = "%Y-%m-%dT%H:%M:%S%Z" # Converts a given +object+ to an XML value. def create(object, escape_xml = true) if Time === object object.strftime XS_TIME_FORMAT elsif DateTime === object object.strftime XS_DATETIME_FORMAT elsif Date === object object.strftime XS_DATE_FORMAT elsif String === object escape_xml ? CGI.escapeHTML(object) : object elsif object.respond_to?(:to_datetime) create object.to_datetime elsif object.respond_to?(:call) create object.call else object.to_s end end end end end
Version data entries
10 entries across 10 versions & 2 rubygems