class RichTextRenderer::TextRenderer
Renderer
for Text nodes.
Public Instance Methods
render(node)
click to toggle source
Renders text nodes with all markings.
# File lib/rich_text_renderer/text_renderers/text_renderer.rb, line 7 def render(node) node = Marshal.load(Marshal.dump(node)) # Clone the node node['value'] = CGI.escapeHTML(node['value']) node.fetch('marks', []).each do |mark| renderer = mappings[mark['type']] return mappings[nil].new(mappings).render(mark) if renderer.nil? && mappings.key?(nil) node['value'] = renderer.new(mappings).render(node) unless renderer.nil? end node['value'] end