Sha256: 291672688796daef3073cc4cc515bb981dc2fba888b610e82208aea1bc36a1ef

Contents?: true

Size: 423 Bytes

Versions: 2

Compression:

Stored size: 423 Bytes

Contents

module RichTextRenderer
  # Base class for all NodeRenderers
  class BaseNodeRenderer
    attr_reader :mappings

    def initialize(mappings = {})
      @mappings = mappings
    end

    protected

    def find_renderer(node)
      renderer = mappings[node.to_h['nodeType']]
      return mappings[nil].new(mappings) if renderer.nil? && mappings.key?(nil)
      renderer.new(mappings) unless renderer.nil?
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rich_text_renderer-0.3.2 lib/rich_text_renderer/base_node_renderer.rb
rich_text_renderer-0.3.1 lib/rich_text_renderer/base_node_renderer.rb