Class | SimpleNavigation::Renderer::Base |
In: |
lib/simple_navigation/rendering/renderer/base.rb
|
Parent: | Object |
This is the base class for all renderers.
A renderer is responsible for rendering an ItemContainer and its containing items to HTML.
adapter | [R] | |
options | [R] |
# File lib/simple_navigation/rendering/renderer/base.rb, line 21 def expand_all? !!options[:expand_all] end
# File lib/simple_navigation/rendering/renderer/base.rb, line 33 def include_sub_navigation?(item) consider_sub_navigation?(item) && expand_sub_navigation?(item) end
# File lib/simple_navigation/rendering/renderer/base.rb, line 25 def level options[:level] || :all end
Renders the specified ItemContainer to HTML.
When implementing a renderer, please consider to call include_sub_navigation? to determin whether an item‘s sub_navigation should be rendered or not.
# File lib/simple_navigation/rendering/renderer/base.rb, line 46 def render(item_container) raise 'subclass responsibility' end
# File lib/simple_navigation/rendering/renderer/base.rb, line 37 def render_sub_navigation_for(item) item.sub_navigation.render(self.options) end
# File lib/simple_navigation/rendering/renderer/base.rb, line 29 def skip_if_empty? !!options[:skip_if_empty] end
# File lib/simple_navigation/rendering/renderer/base.rb, line 52 def consider_sub_navigation?(item) return false if item.sub_navigation.nil? case level when :all return true when Integer return false when Range return item.sub_navigation.level <= level.max end false end