lib/simple_navigation/renderer/base.rb in simple-navigation-1.4.2 vs lib/simple_navigation/renderer/base.rb in simple-navigation-2.0.0
- old
+ new
@@ -1,18 +1,16 @@
module SimpleNavigation
module Renderer
# This is the base class for all renderers.
#
- # A renderer is responsible for rendering an ItemContainer (primary or a sub_navigation) and its containing items to HTML.
- # It must be initialized with the current_navigation for the rendered ItemContainer and
- # optionally with the current_sub_navigation (if the sub_navigation will be nested).
+ # A renderer is responsible for rendering an ItemContainer and its containing items to HTML.
class Base
include ActionView::Helpers::UrlHelper
include ActionView::Helpers::TagHelper
- attr_reader :current_navigation, :current_sub_navigation, :controller
+ attr_reader :controller
class << self
# Delegates method calls to the controller.
def controller_method(*methods)
@@ -23,19 +21,21 @@
end
controller_method :form_authenticity_token, :protect_against_forgery?, :request_forgery_protection_token
- def initialize(current_navigation, current_sub_navigation=nil) #:nodoc:
- @current_navigation = current_navigation
- @current_sub_navigation = current_sub_navigation
+ def initialize #:nodoc:
@controller = SimpleNavigation.controller
end
# Renders the specified ItemContainer to HTML.
#
# If <tt>include_sub_navigation</tt> is set to true, the renderer should nest the sub_navigation for the active navigation
- # inside that navigation item.
+ # inside that navigation item.
+ #
+ # A renderer should also take the option SimpleNavigation.config.render_all_levels into account. If it is set to true then it should render all navigation levels
+ # independent of the <tt>include_sub_navigation</tt> option.
+ #
def render(item_container, include_sub_navigation=false)
raise 'subclass responsibility'
end
end
\ No newline at end of file