lib/simple_navigation/rendering/renderer/json.rb in simple-navigation-3.12.0 vs lib/simple_navigation/rendering/renderer/json.rb in simple-navigation-3.12.1

- old
+ new

@@ -1,29 +1,27 @@ module SimpleNavigation module Renderer - - # Renders the navigation items as a object tree serialized as a json string, can also output raw ruby Hashes + # Renders the navigation items as a object tree serialized as a json string, + # can also output raw ruby Hashes class Json < SimpleNavigation::Renderer::Base - def render(item_container) results = hash_render(item_container) - results = results.to_json unless options[:as_hash] - results + options[:as_hash] ? results : results.to_json end private def hash_render(item_container) - return nil if item_container.nil? + return nil unless item_container + item_container.items.map do |item| - item_hash = { - :name => item.name, - :url => item.url, - :selected => item.selected?, - :items => hash_render(item.sub_navigation) + { + items: hash_render(item.sub_navigation), + name: item.name, + selected: item.selected?, + url: item.url } - end + end end - end end end