Class: Coradoc::Markdown::Serializer::Serializers::List

Inherits:
ElementSerializer show all
Defined in:
lib/coradoc/markdown/serializer/serializers/list.rb

Instance Method Summary collapse

Methods inherited from ElementSerializer

call, handles?, #handles?, handles_type, #handles_type

Instance Method Details

#call(element, _ctx) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/coradoc/markdown/serializer/serializers/list.rb', line 12

def call(element, _ctx)
  marker = element.ordered ? '1.' : '-'
  element.items.flat_map do |item|
    lines = [render_item(item, marker, _ctx)]
    if item.sublist
      lines += call(item.sublist, _ctx).split("\n").map { |l| "    #{l}" }
    end
    lines
  end.join("\n")
end