class Iqvoc::Configuration::Navigation

Public Class Methods

add(item, position = nil) click to toggle source
# File lib/iqvoc/configuration/navigation.rb, line 28
def self.add(item, position = nil)
  if position
    items.insert(position, item)
  else
    items << item
  end
end
add_grouped(item, position = nil) click to toggle source
# File lib/iqvoc/configuration/navigation.rb, line 36
def self.add_grouped(item, position = nil)
  index = setup_extension_group(position)
  items[index][:items] << item
end
items() click to toggle source
# File lib/iqvoc/configuration/navigation.rb, line 24
def self.items
  Iqvoc.navigation_items
end

Private Class Methods

setup_extension_group(position) click to toggle source

Setup an empty navigation group for extensions Returns index for the new (or existing) group, so add_grouped can use the index to insert it's item under the group

# File lib/iqvoc/configuration/navigation.rb, line 45
def self.setup_extension_group(position)
  group = {
    text: proc { t('txt.views.navigation.extensions') },
    items: []
  }

  if position && !items[position][:items]
    items.insert(position, group)
  elsif position && items[position][:items]
    return position
  else
    items << group
  end

  items.index(group)
end