Class: KirguduBase::DynamicPages::MenuItemBuilder

Inherits:
PageElementBuilder show all
Defined in:
app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb

Instance Method Summary collapse

Methods inherited from PageElementBuilder

#css_class, #enabled, #html_options, #id, #visible

Constructor Details

#initialize(&block) ⇒ MenuItemBuilder

Returns a new instance of MenuItemBuilder.



4
5
6
7
8
9
10
11
12
13
14
# File 'app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb', line 4

def initialize(&block)

  self.builder_options.merge!({
                                items: nil,
                                target: :same,
                                label: nil,
                                url: nil
                              })

  super(nil, &block)
end

Instance Method Details

#items(&block) ⇒ Object



20
21
22
23
24
25
26
27
# File 'app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb', line 20

def items(&block)
  elements = ::KirguduBase::DynamicPages::MenuItemsBlockBuilder.new(&block).to_elements

  elements.each do |element|
    self.builder_options[:items] = [] unless self.builder_options[:items]
    self.builder_options[:items] << element
  end
end

#label(value) ⇒ Object



16
17
18
# File 'app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb', line 16

def label(value)
  self.builder_options[:label] = value
end

#to_elementObject



33
34
35
36
37
38
# File 'app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb', line 33

def to_element
  element = ::KirguduBase::DynamicPages::MenuItem.new
  self.build_element(element)
  self.validate_generated_element(element)
  element
end

#url(url_data = nil, &block) ⇒ Object



29
30
31
# File 'app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb', line 29

def url(url_data = nil, &block)
  self.builder_options[:url] = ::KirguduBase::DynamicPages::UrlBuilder.new(url_data, &block).to_element
end