Sha256: c1a798ef1aef324c34b4a7c980460fd52493b0def2eef5e3c0306817255543f0

Contents?: true

Size: 768 Bytes

Versions: 2

Compression:

Stored size: 768 Bytes

Contents

module Navi
  module Renderers
    class Base
      attr_accessor :context, :controller, :template

      def initialize(context)
        @context = context
      end

      def render(collection)
        raise NotImplementedError
      end

      private

      def controller
        @controller ||= if @context.respond_to?(:controller)
                          @context.controller
                        else
                          @context
                        end
      end

      def template
        @template ||= if controller.respond_to?(:view_context)
                        controller.view_context
                      else
                        controller.instance_variable_get(:@template)
                      end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
navi-0.2.1 lib/navi/renderers/base.rb
navi-0.2.0 lib/navi/renderers/base.rb