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.



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

def initialize
  self.items = []
end

Instance Attribute Details

#itemsObject

Returns the value of attribute items.



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

def items
  @items
end

Instance Method Details

#add(name, url = nil, options = {}) ⇒ Object



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

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

#displayObject



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

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? or size - 1 == index
      (:li, name, options)
    else
      (:li, (:a, name, :href => url), options)
    end
  end.join("\n")
  
  (:ul, "\n#{crumbs}\n".html_safe, :id => "breadcrumbs")
end