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

#enabled, #html_options, #id, #visible

Methods inherited from Builder

#build_element, #builder_options, #valiadte_interger_parameter, #valiadte_interger_positive_parameter, #validate_empty_parameter, #validate_generated_element, #validate_string_or_symbol_parameter, #validate_string_parameter, #validate_symbol_parameter

Constructor Details

#initialize(&block) ⇒ MenuItemBuilder

Returns a new instance of MenuItemBuilder.



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

def initialize(&block)

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

  super(nil, &block)
end

Instance Method Details



39
40
41
# File 'app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb', line 39

def controller_link(&block)
  self.builder_options[:controller_link] = ::KirguduBase::DynamicPages::ControllerLinkBuilder.new(&block).to_element
end

#items(&block) ⇒ Object



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

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



26
27
28
# File 'app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb', line 26

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


18
19
20
# File 'app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb', line 18

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

#target(value) ⇒ Object



22
23
24
# File 'app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb', line 22

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

#to_elementObject



43
44
45
46
47
48
# File 'app/models/kirgudu_base/dynamic_pages/menu_item_builder.rb', line 43

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