Sha256: 8afbdc642ec36a77ead739f536ea9338db0eefcebde662c1c7cb2c9684c03100
Contents?: true
Size: 1.13 KB
Versions: 1
Compression:
Stored size: 1.13 KB
Contents
module MultiHelper module Navigation class Renderer include ActionView::Helpers::UrlHelper include ActionView::Helpers::TagHelper def initialize(nav, params, request) @params = params @request = request @navigation = nav end def to_html(options = {}) render_navigation(@navigation) end def render_navigation(nav) content_tag(:div, content_tag(:ul, render_navigation_items(nav)) + content_tag(:div, "", :class => 'clear'), {:id => nav.options[:id], :class => nav.options[:class]}) end def render_navigation_items(nav) nav.items.collect { |item| name = item.name link = item.links_to || "#" classes = item.options[:class] if item.active? or item_is_the_current_one?(item) classes += "active" end content_tag(:li, link_to(name, link), item.options.merge(:class => classes)) }.join("\n") end private def item_is_the_current_one?(item) current = @request.request_uri.split("?").first item.links_to == current end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
lucasefe-multi_helper-0.0.1 | lib/multi_helper/navigation/renderer.rb |