module Ukoyg::XMLValue

Constants

XS_DATETIME_FORMAT

xs:dateTime format

XS_DATE_FORMAT

xs:date format

XS_TIME_FORMAT

xs:time format

Public Class Methods

create(object, escape_xml = true) click to toggle source

Converts a given object to an XML value.

# File lib/ukoyg/xml_value.rb, line 18
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