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