class Tilia::VObject::Writer
iCalendar/vCard/jCal/jCard/xCal/xCard writer object.
This object provides a few (static) convenience methods to quickly access the serializers.
Public Class Methods
write(component)
click to toggle source
Serializes a vCard or iCalendar object.
@param [Component] component
@return [String]
# File lib/tilia/v_object/writer.rb, line 14 def self.write(component) component.serialize end
write_json(component)
click to toggle source
Serializes a jCal or jCard object.
@param [Component] component @param [Fixnum] options
@return [String]
# File lib/tilia/v_object/writer.rb, line 24 def self.write_json(component) component.json_serialize.to_json end
write_xml(component)
click to toggle source
Serializes a xCal or xCard object.
@param [Component] component
@return [String]
# File lib/tilia/v_object/writer.rb, line 33 def self.write_xml(component) writer = Tilia::Xml::Writer.new writer.open_memory writer.set_indent(true) writer.start_document(encoding: LibXML::XML::Encoding::UTF_8) if component.is_a? Tilia::VObject::Component::VCalendar writer.start_element('icalendar') writer.write_attribute('xmlns', Tilia::VObject::Parser::Xml::XCAL_NAMESPACE) else writer.start_element('vcards') writer.write_attribute('xmlns', Tilia::VObject::Parser::Xml::XCARD_NAMESPACE) end component.xml_serialize(writer) writer.end_element writer.output_memory end