class ActionNav::Item
Attributes
children[R]
count[RW]
description[RW]
hide_unless[RW]
icon[RW]
id[R]
title[RW]
url[RW]
Public Class Methods
new(parent, id)
click to toggle source
# File lib/action_nav/item.rb, line 6 def initialize(parent, id) @id = id @parent = parent @children = {} end
Public Instance Methods
add_child(id, &block)
click to toggle source
# File lib/action_nav/item.rb, line 25 def add_child(id, &block) child_item = Item.new(self, id) block.call(child_item) if block_given? @children[id] = child_item end
child(*ids)
click to toggle source
# File lib/action_nav/item.rb, line 31 def child(*ids) previous = self ids.each do |id| previous = previous.children[id] return nil if previous.nil? end previous end
dsl(&block)
click to toggle source
# File lib/action_nav/item.rb, line 40 def dsl(&block) ItemDSL.new(self).instance_eval(&block) self end
path()
click to toggle source
# File lib/action_nav/item.rb, line 21 def path @parent ? [@parent.path, id].flatten : [id] end