Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/structformatter.rb
Instance Method Summary collapse
Instance Method Details
#render_xml(element_name, element) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/structformatter.rb', line 54 def render_xml(element_name, element) str = "" if element.class == Date str = "<#{element_name}>#{element.strftime("%Y-%m-%d")}</#{element_name}>" elsif element.class == Time or element.class == DateTime str = "<#{element_name}>#{element.strftime("%Y-%m-%dT%H:%M:%SZ")}</#{element_name}>" elsif element.kind_of? Struct or element.kind_of? Hash or element.kind_of? Array str = element.to_xml else str = "<#{element_name}>#{element.to_s.xml_escape}</#{element_name}>" end end |
#to(format) ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/structformatter.rb', line 75 def to(format) case format when 'xml' self.to_xml when 'json' self.to_json when 'string' self.to_s else raise "invalid format: #{format}, use one of xml, json, or string" end end |
#to_xml ⇒ Object
66 67 68 69 70 71 72 73 74 |
# File 'lib/structformatter.rb', line 66 def to_xml str = "<hash>" self.each do |key,value| str += "<element><key>#{key}</key>" str += render_xml("value",value) str += "</element>" end str += "</hash>" end |