class RocketNavigation::Renderer::Json

Renders the navigation items as a object tree serialized as a json string, can also output raw ruby Hashes

Public Instance Methods

render(item_container) click to toggle source
# File lib/rocket_navigation/renderer/json.rb, line 8
def render(item_container)
  results = hash_render(item_container)
  options[:as_hash] ? results : results.to_json
end

Private Instance Methods

hash_render(item_container) click to toggle source
# File lib/rocket_navigation/renderer/json.rb, line 15
def hash_render(item_container)
  return nil unless item_container

  item_container.items.map do |item|
    {
      items: hash_render(item.sub_navigation),
      name: item.name,
      selected: item.selected?,
      url: item.url
    }
  end
end