module FoundationNavigation::Builder
Attributes
node[RW]
Public Instance Methods
build_subtree(klass, *args, &block)
click to toggle source
# File lib/foundation-navigation/builder.rb, line 39 def build_subtree(klass, *args, &block) @node.children << klass.new(*args, &block).node end
divider()
click to toggle source
# File lib/foundation-navigation/builder.rb, line 31 def divider build_subtree(FoundationNavigation::Divider) end
dropdown(*args, &block)
click to toggle source
# File lib/foundation-navigation/builder.rb, line 27 def dropdown(*args, &block) build_subtree(FoundationNavigation::Dropdown, *args, &block) end
left(&block)
click to toggle source
# File lib/foundation-navigation/builder.rb, line 7 def left(&block) @node.children << FoundationNavigation::MenuGroup.new( orientation: 'left', &block ).node end
method_missing(method, *args, &block)
click to toggle source
# 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
right(&block)
click to toggle source
# 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)
click to toggle source
# File lib/foundation-navigation/builder.rb, line 23 def title_area(*args, &block) build_subtree(FoundationNavigation::TitleArea, *args, &block) end
to_s()
click to toggle source
# File lib/foundation-navigation/builder.rb, line 43 def to_s @node.to_s end
Private Instance Methods
add_node(name, *opts, &block)
click to toggle source
# File lib/foundation-navigation/builder.rb, line 56 def add_node(name, *opts, &block) parent = @node @node = Node.new(parent, name, *opts) parent.children << @node if parent if block_given? @self_before_instance_eval = eval "self", block.binding val = instance_eval(&block) @node.children << val if val.is_a?(String) end parent ? @node = parent : @node end