Skip to content

Instantly share code, notes, and snippets.

@sprsquish
Created June 20, 2010 04:17

Revisions

  1. sprsquish created this gist Jun 20, 2010.
    26 changes: 26 additions & 0 deletions gistfile1.builder
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,26 @@
    def get_bread_crumb(url)
    begin
    breadcrumb = ''
    so_far = '/'
    elements = url.split('/')
    for i in 1...elements.size

    so_far += elements[i] + '/'

    if elements[i] =~ /^[0-9]*$/
    begin
    breadcrumb += link_to_if(i != elements.size - 1, eval("#{elements[i - 1].singularize.camelize}.find(#{elements[i]}).name").gsub("_"," ").to_s, so_far)
    rescue
    breadcrumb += elements[i]
    end
    else
    breadcrumb += link_to_if(i != elements.size - 1,elements[i].gsub("_"," ").titleize, so_far)
    end

    breadcrumb += " » " if i != elements.size - 1
    end
    breadcrumb
    rescue
    'Not available'
    end
    end
    20 changes: 20 additions & 0 deletions gistfile2.builder
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,20 @@
    def get_bread_crumb(url)
    breadcrumb = []
    so_far = []
    elements = url.split('/')
    last_element = elements.last

    elements.each_with_index do |element, index|
    so_far << element
    url = so_far.join('/')

    breadcrumb << if element =~ /^[0-9]*$/
    link_to_if(element != last_element, elements[i-1].constantize.find(element).name.humanize, url) rescue element
    else
    link_to_if(element != last_element, element.titleize, url)
    end
    end
    breadcrumb.join(" &raquo; ")
    rescue
    'Not available'
    end