Class: RText::Serializer

Inherits:
Object
  • Object
show all
Defined in:
lib/rtext/serializer.rb

Instance Method Summary collapse

Constructor Details

#initialize(language) ⇒ Serializer

Creates a serializer for RText::Language language.



11
12
13
# File 'lib/rtext/serializer.rb', line 11

def initialize(language)
  @lang = language
end

Instance Method Details

#serialize(elements, writer, options = {}) ⇒ Object

Serialize elements to writer. Options:

:set_line_number
  if set to true, the serializer will try to update the line number attribute of model
  elements, while they are serialized, given that they have the line_number_attribute
  specified in the RText::Language
  default: don't set line number

:fragment_ref
  an object referencing a fragment, this will be set on all model elements while they
  are serialized, given that they have the fragment_ref_attribute specified in the
  RText::Language
  default: don't set fragment reference


29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/rtext/serializer.rb', line 29

def serialize(elements, writer, options={})
  @writer = writer
  @set_line_number = options[:set_line_number]
  @fragment_ref = options[:fragment_ref]
  @line_number = 1
  @indent = 0
  if elements.is_a?(Array)
    serialize_elements(elements)
  else
    serialize_elements([elements])
  end
end