Sha256: 9773fccbdbe3d8e1299b89c3c22a62ea331bd4825f459f20829ef25acf86efa7

Contents?: true

Size: 878 Bytes

Versions: 9

Compression:

Stored size: 878 Bytes

Contents

module Para
  module Breadcrumbs
    module Controller
      extend ActiveSupport::Concern

      included do
        class_attribute :_class_level_breadcrumbs

        helper_method :add_breadcrumb, :breadcrumbs
        helper ViewHelper
      end

      def add_breadcrumb(*args)
        breadcrumbs.add(*args)
      end

      def breadcrumbs
        Para.store[:breadcrumbs] ||= begin
          manager = Breadcrumbs::Manager.new
          _class_level_breadcrumbs.each { |args| manager.add(*args) }
          manager
        end
      end

      module ClassMethods
        def add_breadcrumb(*args)
          self._class_level_breadcrumbs ||= []
          self._class_level_breadcrumbs += [args]
        end
      end

      module ViewHelper
        def render_breadcrumbs
          render partial: 'para/admin/shared/breadcrumbs'
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
para-0.6.9 lib/para/breadcrumbs/controller.rb
para-0.6.8 lib/para/breadcrumbs/controller.rb
para-0.6.7 lib/para/breadcrumbs/controller.rb
para-0.6.3 lib/para/breadcrumbs/controller.rb
para-0.6.2 lib/para/breadcrumbs/controller.rb
para-0.5.4 lib/para/breadcrumbs/controller.rb
para-0.5.3 lib/para/breadcrumbs/controller.rb
para-0.5.1 lib/para/breadcrumbs/controller.rb
para-0.5.0 lib/para/breadcrumbs/controller.rb