Class: MarkdownUI::Message

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

Instance Method Summary collapse

Constructor Details

#initialize(element, content, klass = nil) ⇒ Message

Returns a new instance of Message.



3
4
5
6
7
# File 'lib/markdown-ui/message/message.rb', line 3

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

Instance Method Details

#renderObject



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

def render
  element = if @element.is_a? Array
    @element
  else
    @element.split(" ")
  end

  content = @content
  klass = @klass

  mode = OpenStruct.new(
    :list?   => element.grep(/list/i).any?,
    :icon?   => element.grep(/icon/i).any?,
    :dismissable? => element.grep(/dismissable/i).any?
  )

  if standard_message?(mode) && element.size > 1
    MarkdownUI::CustomMessage.new(element, content, klass).render
  elsif mode.list?
    MarkdownUI::ListMessage.new(content, klass).render
  else standard_message?(mode)
    MarkdownUI::StandardMessage.new(content, klass).render
  end
end