Class: ContentfulConverter::NodeBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/contentful_converter/node_builder.rb

Constant Summary collapse

DEFAULT_MAPPINGS =
{
  '#document-fragment' => Nodes::Document,
  'h1' => Nodes::Header,
  'h2' => Nodes::Header,
  'h3' => Nodes::Header,
  'h4' => Nodes::Header,
  'h5' => Nodes::Header,
  'h6' => Nodes::Header,
  'text' => Nodes::Text,
  'span' => Nodes::Text,
  'i' => Nodes::Italic,
  'em' => Nodes::Italic,
  'u' => Nodes::Underline,
  'b' => Nodes::Strong,
  'code' => Nodes::Code,
  'strong' => Nodes::Strong,
  'p' => Nodes::Paragraph,
  'div' => Nodes::Paragraph,
  'br' => Nodes::Paragraph,
  'section' => Nodes::Paragraph,
  'embed' => Nodes::Embed,
  'img' => Nodes::Embed,
  'hr' => Nodes::HorizontalLine,
  'blockquote' => Nodes::Blockquote,
  'ul' => Nodes::UnorderedList,
  'ol' => Nodes::OrderedList,
  'li' => Nodes::ListItem,
  'a' => Nodes::Hyperlink
}.freeze

Class Method Summary collapse

Class Method Details

.build(nokogiri_node, parent = nil) ⇒ Object



51
52
53
54
55
56
57
58
59
# File 'lib/contentful_converter/node_builder.rb', line 51

def self.build(nokogiri_node, parent = nil)
  rich_text_node = DEFAULT_MAPPINGS[nokogiri_node.name]

  unless rich_text_node
    raise "'#{nokogiri_node.name}' Node type, does not exist"
  end

  rich_text_node.new(nokogiri_node, parent)
end