Class: MarkdownUI::Segment

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

Instance Method Summary collapse

Constructor Details

#initialize(element, content) ⇒ Segment

Returns a new instance of Segment.



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/markdown-ui/segment/segment.rb', line 3

def initialize(element, content)
  @mode = OpenStruct.new(
    :horizontal?  => !(element =~ /horizontal/i).nil?,
    :vertical?    => !(element =~ /vertical/i).nil?,
    :stacked?     => !(element =~ /stacked/i).nil?,
    :piled?       => !(element =~ /piled/i).nil?,
    :padded?      => !(element =~ /padded/i).nil?
  )
  @element = element
  @content = content
end

Instance Method Details

#renderObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/markdown-ui/segment/segment.rb', line 15

def render
  if @element.length == "segment".length
    MarkdownUI::StandardSegment.new(@element, @content).render
  elsif @mode.horizontal?
    MarkdownUI::HorizontalSegment.new(@element, @content).render
  elsif @mode.vertical?
    MarkdownUI::VerticalSegment.new(@element, @content).render
  elsif @mode.stacked?
    MarkdownUI::StackedSegment.new(@element, @content).render
  elsif @mode.piled?
    MarkdownUI::PiledSegment.new(@element, @content).render
  elsif @mode.padded?
    MarkdownUI::PaddedSegment.new(@element, @content).render
  else
    MarkdownUI::CustomSegment.new(@element, @content).render
  end
end