class SemanticBreadcrumbsBuilder < BreadcrumbsOnRails::Breadcrumbs::Builder
  def render
    @elements[-1].options[:last] = true
    @elements.collect do |element|
      render_element(element)
    end.join(@options[:separator] || separator)
  end

  def render_element(element)
    element.options[:class] ||= 'section'
    if element.path == nil
      content = compute_name(element)
    else
      content = @context.link_to_unless_current(compute_name(element), compute_path(element), element.options)
    end
    if element.options.delete(:last)
      @context.content_tag(:div, content, class: 'active section')
    else
      ERB::Util.h(content)
    end
  end

  def separator
    @context.content_tag :div, '/', class: 'divider'
  end
end