class SimpleNavigation::Renderer::Breadcrumbs
Renders an ItemContainer as a <div> element and its containing items as <a> elements. It only renders 'selected' elements.
By default, the renderer sets the item's key as dom_id for the rendered
<a> element unless the config option
autogenerate_item_ids
is set to false.
The id can also be explicitely specified by setting the id in the html-options of the 'item' method in the config/navigation.rb file. The ItemContainer's dom_attributes are applied to the surrounding <div> element.
Public Instance Methods
render(item_container)
click to toggle source
# File lib/simple_navigation/rendering/renderer/breadcrumbs.rb, line 16 def render(item_container) content = a_tags(item_container).join(join_with) content_tag(:div, prefix_for(content) + content, item_container.dom_attributes) end
Protected Instance Methods
join_with()
click to toggle source
# File lib/simple_navigation/rendering/renderer/breadcrumbs.rb, line 36 def join_with @join_with ||= options[:join_with] || ' ' end
link_options_for(item)
click to toggle source
Extracts the options relevant for the generated link
Calls superclass method
SimpleNavigation::Renderer::Base#link_options_for
# File lib/simple_navigation/rendering/renderer/breadcrumbs.rb, line 54 def link_options_for(item) if options[:allow_classes_and_ids] opts = super opts[:id] &&= "breadcrumb_#{opts[:id]}" opts else html_options = item.html_options.except(:class, :id) { method: item.method }.merge(html_options) end end
prefix_for(content)
click to toggle source
# File lib/simple_navigation/rendering/renderer/breadcrumbs.rb, line 44 def prefix_for(content) if !content.empty? && options[:prefix] options[:prefix] else '' end end
suppress_link?(item)
click to toggle source
Calls superclass method
SimpleNavigation::Renderer::Base#suppress_link?
# File lib/simple_navigation/rendering/renderer/breadcrumbs.rb, line 40 def suppress_link?(item) super || (options[:static_leaf] && item.active_leaf_class) end