Class: KirguduBase::DynamicPages::MenuBuilder

Inherits:
Builder
  • Object
show all
Defined in:
app/models/kirgudu_base/dynamic_pages/menu_builder.rb

Instance Method Summary collapse

Constructor Details

#initialize(name, &block) ⇒ MenuBuilder

Returns a new instance of MenuBuilder.



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

def initialize(name, &block)

  self.builder_options.merge!({
                                is_ajax: :false,
                                elements: nil,
                                name: nil
                              })

  self.name(name)
  super(&block)
end

Instance Method Details

#elements(&block) ⇒ Object



25
26
27
28
29
30
31
# File 'app/models/kirgudu_base/dynamic_pages/menu_builder.rb', line 25

def elements(&block)
  self.builder_options[:elements] ||= []
  elmnts = ::KirguduBase::DynamicPages::MenuItemsBlockBuilder.new(&block).to_elements
  elmnts.each do |element|
    self.builder_options[:elements] << element
  end
end

#is_ajax(value) ⇒ Object



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

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

#items(&block) ⇒ Object



21
22
23
# File 'app/models/kirgudu_base/dynamic_pages/menu_builder.rb', line 21

def items(&block)
  elements(&block)
end

#to_elementObject



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

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