Class: MarkdownUI::Container::Element

Inherits:
Object
  • Object
show all
Defined in:
lib/markdown-ui/container/element.rb

Instance Method Summary collapse

Constructor Details

#initialize(element, content) ⇒ Element

Returns a new instance of Element.



5
6
7
8
# File 'lib/markdown-ui/container/element.rb', line 5

def initialize(element, content)
  @element = element
  @content = content
end

Instance Method Details

#renderObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/markdown-ui/container/element.rb', line 10

def render
  element = @element.strip
  content = @content.strip

  mode = OpenStruct.new(
    :text?      => !(element =~ /text/i).nil?,
    :left?      => !(element =~ /left/i).nil?,
    :right?     => !(element =~ /right/i).nil?,
    :center?    => !(element =~ /center/i).nil?,
    :aligned?   => !(element =~ /aligned/i).nil?
  )

  if element.length == "container".length
    MarkdownUI::Container::Standard.new(element, content).render
  elsif mode.left? && mode.aligned?
    MarkdownUI::Container::Alignment::Left.new(element, content).render
  elsif mode.right? && mode.aligned?
    MarkdownUI::Container::Alignment::Right.new(element, content).render
  elsif mode.center? && mode.aligned?
    MarkdownUI::Container::Alignment::Center.new(element, content).render
  elsif mode.text?
    MarkdownUI::Container::Text.new(element, content).render
  else
    MarkdownUI::Container::Custom.new(element, content).render
  end
end