Module: Baldr::Renderer::EdiLikeJson
Instance Method Summary collapse
Instance Method Details
#draw(segments, params = {}) ⇒ Object
5 6 7 8 |
# File 'lib/baldr/renderer/edi_like_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 |
# File 'lib/baldr/renderer/edi_like_json.rb', line 10 def draw_segment(segment) node = ActiveSupport::OrderedHash.new segment.elements.each.with_index { |e, i| node["#{segment.id}#{'%02d' % (i + 1)}"] = e if e.present? } segment.children.each { |loop| node[loop.id] = loop.segments.map { |s| draw_segment(s) } } node end |