Class: RichTextRenderer::Renderer

Inherits:
BaseNodeRenderer show all
Defined in:
lib/rich_text_renderer/renderer.rb

Overview

Renderer for RichText field from Contentful

Constant Summary collapse

DEFAULT_MAPPINGS =

Default Renderers

{
  nil => NullRenderer,
  'document' => DocumentRenderer,
  'heading-1' => HeadingOneRenderer,
  'heading-2' => HeadingTwoRenderer,
  'heading-3' => HeadingThreeRenderer,
  'heading-4' => HeadingFourRenderer,
  'heading-5' => HeadingFiveRenderer,
  'heading-6' => HeadingSixRenderer,
  'blockquote' => BlockQuoteRenderer,
  'hyperlink' => HyperlinkRenderer,
  'paragraph' => ParagraphRenderer,
  'list-item' => ListItemRenderer,
  'ordered-list' => OrderedListRenderer,
  'unordered-list' => UnorderedListRenderer,
  'embedded-entry-block' => EntryBlockRenderer,
  'embedded-asset-block' => AssetBlockRenderer,
  'asset-hyperlink' => AssetHyperlinkRenderer,
  'hr' => HrRenderer,
  'text' => TextRenderer,
  'bold' => BoldRenderer,
  'code' => CodeRenderer,
  'italic' => ItalicRenderer,
  'underline' => UnderlineRenderer,
  'superscript' => SuperscriptRenderer,
  'subscript' => SubscriptRenderer,
  'table' => TableRenderer,
  'table-row' => TableRowRenderer,
  'table-cell' => TableCellRenderer,
  'table-header-cell' => TableHeaderCellRenderer
}

Instance Attribute Summary

Attributes inherited from BaseNodeRenderer

#mappings

Instance Method Summary collapse

Constructor Details

#initialize(mappings = {}) ⇒ Renderer

Returns a new instance of Renderer.



44
45
46
# File 'lib/rich_text_renderer/renderer.rb', line 44

def initialize(mappings = {})
  @mappings = DEFAULT_MAPPINGS.merge(mappings)
end

Instance Method Details

#render(document) ⇒ Object

Returns a rendered RichText document



49
50
51
52
# File 'lib/rich_text_renderer/renderer.rb', line 49

def render(document)
  renderer = find_renderer(document)
  renderer.render(document) unless renderer.nil?
end