Class: Breadcrumb

Inherits:
Object
  • Object
show all
Includes:
ActionView::Helpers::TagHelper
Defined in:
lib/breadcrumb.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeBreadcrumb

Returns a new instance of Breadcrumb.



6
7
8
# File 'lib/breadcrumb.rb', line 6

def initialize
  @items = []
end

Instance Attribute Details

#itemsObject

Returns the value of attribute items.



4
5
6
# File 'lib/breadcrumb.rb', line 4

def items
  @items
end

Instance Method Details

#add(name, url = nil, options = {}) ⇒ Object Also known as: <<



10
11
12
# File 'lib/breadcrumb.rb', line 10

def add(name, url=nil, options={})
  @items << [name, url, options]
end

#displayObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/breadcrumb.rb', line 16

def display
  size = @items.size

  crumbs = @items.to_enum(:each_with_index).collect do |item, index|
    name, url, options = item

    options[:class] ||= ""
    options[:class] << " item-#{index}"
    options[:class] << " last" if size - 1 == index
    options[:class].squish!

    if url.nil? || (size - 1 == index)
      (:li, name, options)
    else
      (:li, (:a, name, :href => url), options)
    end
  end.join("\n")

  (:ul, "\n#{crumbs}\n", :id=>"breadcrumbs")
end