Class: Tilia::VObject::Writer
- Inherits:
-
Object
- Object
- Tilia::VObject::Writer
- Defined in:
- lib/tilia/v_object/writer.rb
Overview
iCalendar/vCard/jCal/jCard/xCal/xCard writer object.
This object provides a few (static) convenience methods to quickly access the serializers.
Class Method Summary collapse
-
.write(component) ⇒ String
Serializes a vCard or iCalendar object.
-
.write_json(component) ⇒ String
Serializes a jCal or jCard object.
-
.write_xml(component) ⇒ String
Serializes a xCal or xCard object.
Class Method Details
.write(component) ⇒ String
Serializes a vCard or iCalendar object.
14 15 16 |
# File 'lib/tilia/v_object/writer.rb', line 14 def self.write(component) component.serialize end |
.write_json(component) ⇒ String
Serializes a jCal or jCard object.
24 25 26 |
# File 'lib/tilia/v_object/writer.rb', line 24 def self.write_json(component) component.json_serialize.to_json end |
.write_xml(component) ⇒ String
Serializes a xCal or xCard object.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# 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 |