Module: Baldr::Renderer::CompactJson

Extended by:
CompactJson
Included in:
CompactJson
Defined in:
lib/baldr/renderer/compact_json.rb

Instance Method Summary collapse

Instance Method Details

#draw(segments, params = {}) ⇒ Object



5
6
7
8
# File 'lib/baldr/renderer/compact_json.rb', line 5

def draw(segments, params = {})
  segments = Array.wrap(segments)
  segments.map{ |s| draw_segment(s) }.to_json
end

#draw_segment(segment) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/baldr/renderer/compact_json.rb', line 10

def draw_segment(segment)
  {
    class: segment.class.name.demodulize.underscore,
    id: segment.id,
    elements: segment.elements.map(&:to_s),
    children: segment.children.map{ |l| l.segments.map{ |s| draw_segment(s) } }.flatten
  }
end