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