class Refinery::Menu

Attributes

items[RW]

Public Class Methods

new(objects = nil) click to toggle source
# File lib/refinery/menu.rb, line 4
def initialize(objects = nil)
   append(objects)
end

Public Instance Methods

append(objects) click to toggle source
# File lib/refinery/menu.rb, line 8
def append(objects)
  Array(objects).each do |item|
    item = item.to_refinery_menu_item if item.respond_to?(:to_refinery_menu_item)
    items << MenuItem.new(self, item)
  end
end
roots() click to toggle source
# File lib/refinery/menu.rb, line 21
def roots
  @roots ||= select { |item| item.orphan? && item.depth == minimum_depth }
end
to_s() click to toggle source
# File lib/refinery/menu.rb, line 25
def to_s
  map(&:title).join(' ')
end

Protected Instance Methods

minimum_depth() click to toggle source
# File lib/refinery/menu.rb, line 33
def minimum_depth
  map(&:depth).compact.min
end