Class: MarkdownUI::Menu::Element
- Inherits:
-
Object
- Object
- MarkdownUI::Menu::Element
- Defined in:
- lib/markdown-ui/menu/element.rb
Instance Method Summary collapse
-
#initialize(element, content, klass = nil) ⇒ Element
constructor
A new instance of Element.
- #render ⇒ Object
Constructor Details
#initialize(element, content, klass = nil) ⇒ Element
Returns a new instance of Element.
3 4 5 6 7 |
# File 'lib/markdown-ui/menu/element.rb', line 3 def initialize(element, content, klass = nil) @element = element @content = content @klass = klass end |
Instance Method Details
#render ⇒ Object
9 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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/markdown-ui/menu/element.rb', line 9 def render element = if @element.is_a? Array @element else @element.split(" ") end content = @content klass = if @klass.nil? element.join(" ").strip else @klass end mode = OpenStruct.new( :item? => element.grep(/item/i).any?, :secondary? => element.grep(/secondary/i).any?, :pagination? => element.grep(/pagination/i).any?, :pointing? => element.grep(/pointing/i).any?, :tabular? => element.grep(/tabular/i).any?, :text? => element.grep(/text/i).any?, :vertical? => element.grep(/vertical/i).any? ) if (mode) && element.size > 1 MarkdownUI::Menu::Custom.new(element, content, klass).render elsif mode.item? MarkdownUI::Menu::Custom.new(element, content, klass).render elsif mode.secondary? MarkdownUI::Menu::Secondary.new(content, klass).render elsif mode.pagination? MarkdownUI::Menu::Pagination.new(content, klass).render elsif mode.pointing? MarkdownUI::Menu::Pointing.new(content, klass).render elsif mode.tabular? MarkdownUI::Menu::Tabular.new(content, klass).render elsif mode.text? MarkdownUI::Menu::Text.new(content, klass).render elsif mode.vertical? MarkdownUI::Menu::Vertical.new(content, klass).render elsif (mode) MarkdownUI::Menu::Standard.new(content, klass).render end end |