Sha256: 5c42fdcd838b44a99203dbdf029df44f955cd0ef4a222e019fbc524298ea0be4
Contents?: true
Size: 1.08 KB
Versions: 2
Compression:
Stored size: 1.08 KB
Contents
module Navi module Renderers class SimpleNavigation < Navi::Renderers::Base def render(collection) items = create_dynamic_items(collection) @template.render_navigation :items => items, :expand_all => true end private # Create an array of hashes that can be easily fed into SimpleNavigation # like in the following like: # https://github.com/andi/simple-navigation/wiki/Dynamic-Navigation-Items def create_dynamic_items(collection) nav = [] collection.each do |nav_item| item = {} item[:key] = @template.dom_id(nav_item).to_sym item[:name] = nav_item.label if nav_item.url.is_a?(String) item[:url] = nav_item.url else # it's a database record then! item[:url] = @template.polymorphic_path(nav_item.url) end item[:options] = {:title => nav_item.title, :class => nav_item.class.name.underscore} item[:items] = create_dynamic_items(nav_item.children) nav << item end nav end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
navi-0.0.15 | lib/navi/renderers/simple_navigation.rb |
navi-0.0.14 | lib/navi/renderers/simple_navigation.rb |