Class: KirguduBase::DynamicPages::MenuBuilder
- Inherits:
-
Builder
- Object
- Builder
- KirguduBase::DynamicPages::MenuBuilder
- Defined in:
- app/models/kirgudu_base/dynamic_pages/menu_builder.rb
Instance Method Summary collapse
- #elements(&block) ⇒ Object
-
#initialize(name, &block) ⇒ MenuBuilder
constructor
A new instance of MenuBuilder.
- #is_ajax(value) ⇒ Object
- #items(&block) ⇒ Object
- #to_element ⇒ Object
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..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.[:elements] ||= [] elmnts = ::KirguduBase::DynamicPages::MenuItemsBlockBuilder.new(&block).to_elements elmnts.each do |element| self.[: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.[: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_element ⇒ Object
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 |