Class: Bootstrap::AccordionMenu

Inherits:
Object
  • Object
show all
Defined in:
app/renderers/bootstrap/accordion_menu.rb

Instance Method Summary collapse

Constructor Details

#initialize(view, options = {}, &block) ⇒ AccordionMenu

Returns a new instance of AccordionMenu.



3
4
5
6
7
8
9
10
11
# File 'app/renderers/bootstrap/accordion_menu.rb', line 3

def initialize(view, options = {}, &block)
  options.reverse_merge!(identifier: SecureRandom.urlsafe_base64, icon: 'folder-open')

  @identifier = options.delete(:identifier)
  @title      = options.delete(:title)
  @icon      = options.delete(:icon)
  @view       = view
  @block      = block
end

Instance Method Details

#item(options = {}) ⇒ Object



18
19
20
21
22
# File 'app/renderers/bootstrap/accordion_menu.rb', line 18

def item(options = {})
  options.reverse_merge!(icon: nil, target: nil, title: nil, item_count: nil)

  @view.render partial: 'bootstrap/accordion_menu/item', locals: options
end

#performObject



13
14
15
16
# File 'app/renderers/bootstrap/accordion_menu.rb', line 13

def perform
  items = @view.capture { @block.call(self) }
  @view.render partial: 'bootstrap/accordion_menu', locals: { identifier: @identifier, title: @title, items: items, icon: @icon }
end