Sha256: a71bc1a114908023e912a1ad1bb478021377609242132c4f0531bb5c8d6f1527

Contents?: true

Size: 1.19 KB

Versions: 16

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

module Spotlight
  # The BootstrapBreadcrumbsBuilder is a Bootstrap compatible breadcrumb builder.
  # It provides basic functionalities to render a breadcrumb navigation according to Bootstrap's conventions.
  #
  # BootstrapBreadcrumbsBuilder accepts a limited set of options:
  #
  # You can use it with the :builder option on render_breadcrumbs:
  #     <%= render_breadcrumbs :builder => Spotlight::BootstrapBreadcrumbsBuilder %>
  #
  class BootstrapBreadcrumbsBuilder < BreadcrumbsOnRails::Breadcrumbs::Builder
    include ActionView::Helpers::OutputSafetyHelper

    def render
      return '' if @elements.blank?

      @context.content_tag(:ul, class: 'breadcrumb') do
        safe_join(@elements.uniq.map { |e| render_element(e) })
      end
    end

    def render_element(element)
      html_class = 'active' if @context.current_page?(compute_path(element))

      @context.content_tag(:li, class: html_class) do
        @context.link_to_unless_current(element_label(element), compute_path(element), element.options)
      end
    end

    private

    def element_label(element)
      @context.truncate(compute_name(element), length: 30, separator: ' ')
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
blacklight-spotlight-2.13.0 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.12.1 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.12.0 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.11.0 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.10.0 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.9.0 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.8.0 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.7.2 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.7.1 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.7.0 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.6.1.1 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.6.1 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.6.0 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.5.2 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.5.1 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb
blacklight-spotlight-2.5.0 app/builders/spotlight/bootstrap_breadcrumbs_builder.rb