Module: Padrino::Contrib::Helpers::Breadcrumbs

Defined in:
lib/padrino-contrib/helpers/breadcrumbs.rb

Overview

Breadcrumb

Instance Method Summary collapse

Instance Method Details

Render breadcrumbs to view.

Examples:

= breadcrumbs @breacrumbs
# Generates:
# <ul>
#   <li><a href="/foo">Foo Link</a></li>
#   <li class="active"><a href="/bar">Bar Link</a></li>
# </ul>

Parameters:

  • breadcrumbs (Breadcrumbs)

    The breadcrumbs to render into view.

  • bootstrap (Boolean) (defaults to: false)

    If true, render separation (useful with Twitter Bootstrap).

  • active (String) (defaults to: "active")

    CSS class style set to active breadcrumb.

  • options (Hash) (defaults to: {})

    The HTML options to include in ul.

Returns:

  • (String)

    Unordered list with breadcrumbs



146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# File 'lib/padrino-contrib/helpers/breadcrumbs.rb', line 146

def breadcrumbs(breadcrumbs, bootstrap = false, active = "active", options = {})
  content = ActiveSupport::SafeBuffer.new
  breadcrumbs.items[0..-2].each do |item|
    content << render_item(item, bootstrap)
  end
  last = breadcrumbs.items.last
  last_options = last[:options]
  last = link_to(last[:caption], last[:url])
  
  classes = [options[:class], last_options[:class]].map { |class_name| class_name.to_s.split(/\s/) }
  classes[0] << "breadcrumb"
  classes[1] << active if active
  options[:class], last_options[:class] = classes.map { |class_name| class_name * " " }
  
  content << (:li, last, last_options)
  (:ul, content, options)
end