Class: KirguduBase::DynamicPages::MenuItemBuilder
Instance Method Summary
collapse
#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
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
#controller_link(&block) ⇒ Object
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::.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
|
#link(value) ⇒ Object
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_element ⇒ Object
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::.new
self.build_element(element)
self.validate_generated_element(element)
element
end
|