Sha256: 25863e6e208c988b15f3fadcf183f3e3d7ea32aa3f30ae9303453b8e013afcab

Contents?: true

Size: 664 Bytes

Versions: 6

Compression:

Stored size: 664 Bytes

Contents

module ReverseAdoc
  module Converters
    class Base
      def treat_children(node, state)
        node.children.inject('') do |memo, child|
          memo << treat(child, state)
        end
      end

      def treat(node, state)
        ReverseAdoc::Converters.lookup(node.name).convert(node, state)
      end

      def escape_keychars(string)
        subs = { '*' => '\*', '_' => '\_' }
        string
          .gsub(/((?<=\s)[\*_]+)|[\*_]+(?=\s)/) { |n| n.chars.map { |char| subs[char] }.join }
      end

      def extract_title(node)
        title = escape_keychars(node['title'].to_s)
        title.empty? ? '' : %[ #{title}]
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
reverse_adoc-0.3.7 lib/reverse_adoc/converters/base.rb
reverse_adoc-0.3.6 lib/reverse_adoc/converters/base.rb
reverse_adoc-0.3.5 lib/reverse_adoc/converters/base.rb
reverse_adoc-0.3.4 lib/reverse_adoc/converters/base.rb
reverse_adoc-0.3.3 lib/reverse_adoc/converters/base.rb
reverse_adoc-0.3.1 lib/reverse_adoc/converters/base.rb