Class: Sufia::BootstrapBreadcrumbsBuilder

Inherits:
BreadcrumbsOnRails::Breadcrumbs::Builder
  • Object
show all
Includes:
ActionView::Helpers::OutputSafetyHelper
Defined in:
app/builders/sufia/bootstrap_breadcrumbs_builder.rb

Overview

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: Sufia::BootstrapBreadcrumbsBuilder %>

Instance Method Summary collapse

Instance Method Details

#renderObject



11
12
13
14
15
16
17
18
19
# File 'app/builders/sufia/bootstrap_breadcrumbs_builder.rb', line 11

def render
  if @elements.blank?
    return ""
  end

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

#render_element(element) ⇒ Object



21
22
23
24
25
26
27
# File 'app/builders/sufia/bootstrap_breadcrumbs_builder.rb', line 21

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

  @context.(:li, class: html_class) do
    @context.link_to_unless_current(@context.truncate(compute_name(element), length: 30, separator: ' '), compute_path(element), element.options)
  end
end