class TrustyCms::AdminUI::NavTab
its sub-nav items).
The NavTab Class holds the structure of a navigation tab (including
def <<(*args)
def <<(*args) options = args.extract_options! item = args.size > 1 ? deprecated_add(*(args << caller)) : args.first raise DuplicateTabNameError.new("duplicate tab name `#{item.name}'") if self[item.name] item.tab = self if item.respond_to?(:tab=) if options.empty? super(item) else options.symbolize_keys! before = options.delete(:before) after = options.delete(:after) tab_name = before || after if self[tab_name] _index = index(self[tab_name]) _index += 1 unless before insert(_index, item) else super(item) end end end
def [](id)
def [](id) if id.is_a? Integer super else find { |subnav_item| subnav_item.name.to_s.titleize == id.to_s.titleize } end end
def add_item(*args)
def add_item(*args) options = args.extract_options! options.symbolize_keys! before = options.delete(:before) after = options.delete(:after) tab_name = before || after if self[tab_name] _index = index(self[tab_name]) _index += 1 unless before insert(_index, NavSubItem.new(args.first, args.second)) else add NavSubItem.new(args.first, args.second) end end
def deprecated_add(name, url, caller)
def deprecated_add(name, url, caller) ActiveSupport::Deprecation.warn("admin.tabs.add is no longer supported in TrustyCms 0.9.x. Please update your code to use: \ntab \"Content\" do\n\tadd_item(...)\nend", caller) NavSubItem.new(name, url) end
def initialize(name)
def initialize(name) @name = name end
def visible?(user)
def visible?(user) any? { |sub_item| sub_item.visible?(user) } end