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