Sha256: 8b4aa408e1e224104ca0048689b36c5b3235029aabaf2a0b70aac3c4c5008099

Contents?: true

Size: 524 Bytes

Versions: 8

Compression:

Stored size: 524 Bytes

Contents

module ReverseMarkdown
  module Converters
    class Tr < Base
      def convert(node)
        content = treat_children(node).rstrip
        result  = "|#{content}\n"
        table_header_row?(node) ? result + underline_for(node) : result
      end

      def table_header_row?(node)
        node.element_children.all? {|child| child.name.to_sym == :th}
      end

      def underline_for(node)
        "| " + (['---'] * node.element_children.size).join(' | ') + " |\n"
      end
    end

    register :tr, Tr.new
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
reverse_markdown-0.8.2 lib/reverse_markdown/converters/tr.rb
reverse_markdown-0.8.1 lib/reverse_markdown/converters/tr.rb
reverse_markdown-0.8.0 lib/reverse_markdown/converters/tr.rb
reverse_markdown-0.7.0 lib/reverse_markdown/converters/tr.rb
reverse_markdown-0.6.1 lib/reverse_markdown/converters/tr.rb
reverse_markdown-0.6.0 lib/reverse_markdown/converters/tr.rb
reverse_markdown-0.5.1 lib/reverse_markdown/converters/tr.rb
reverse_markdown-0.5.0 lib/reverse_markdown/converters/tr.rb