Module: FoundationNavigation::Builder
Instance Attribute Summary collapse
Instance Method Summary
collapse
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method, *args, &block) ⇒ Object
47
48
49
50
51
52
53
|
# File 'lib/foundation-navigation/builder.rb', line 47
def method_missing(method, *args, &block)
if %i(li ul nav div h1 a span section).include? method
add_node(method, *args, &block)
else
@self_before_instance_eval.send(method, *args, &block)
end
end
|
Instance Attribute Details
#node ⇒ Object
Returns the value of attribute node.
5
6
7
|
# File 'lib/foundation-navigation/builder.rb', line 5
def node
@node
end
|
Instance Method Details
#build_subtree(klass, *args, &block) ⇒ Object
39
40
41
|
# File 'lib/foundation-navigation/builder.rb', line 39
def build_subtree(klass, *args, &block)
@node.children << klass.new(*args, &block).node
end
|
#dropdown(*args, &block) ⇒ Object
27
28
29
|
# File 'lib/foundation-navigation/builder.rb', line 27
def dropdown(*args, &block)
build_subtree(FoundationNavigation::Dropdown, *args, &block)
end
|
35
36
37
|
# File 'lib/foundation-navigation/builder.rb', line 35
def (*args, &block)
build_subtree(FoundationNavigation::MenuItem, *args, &block)
end
|
#right(&block) ⇒ Object
13
14
15
16
17
|
# File 'lib/foundation-navigation/builder.rb', line 13
def right(&block)
@node.children << FoundationNavigation::MenuGroup.new(
orientation: 'right', &block
).node
end
|
#title_area(*args, &block) ⇒ Object
23
24
25
|
# File 'lib/foundation-navigation/builder.rb', line 23
def title_area(*args, &block)
build_subtree(FoundationNavigation::TitleArea, *args, &block)
end
|
#to_s ⇒ Object
43
44
45
|
# File 'lib/foundation-navigation/builder.rb', line 43
def to_s
@node.to_s
end
|