class Easy::Configuration::Menu
Attributes
caption[W]
visibility[RW]
Public Class Methods
new()
click to toggle source
# File lib/easy/configuration/menu.rb, line 8 def initialize @items = {} @caption = nil end
Public Instance Methods
caption()
click to toggle source
# File lib/easy/configuration/menu.rb, line 24 def caption case @caption when String @caption when NilClass '' else I18n.t(@caption) end end
custom_link(key, options = {}, &block)
click to toggle source
# File lib/easy/configuration/menu.rb, line 35 def custom_link(key, options = {}, &block) parent = options.delete(:parent) add(key, MenuCustomLink.new(options, &block), parent) end
entity_link(class_name, options = {}, &block)
click to toggle source
# File lib/easy/configuration/menu.rb, line 41 def entity_link(class_name, options = {}, &block) parent = options.delete(:parent) add(class_name, MenuEntityLink.new(class_name, options, &block), parent) end
items()
click to toggle source
# File lib/easy/configuration/menu.rb, line 53 def items @items.values end
title(key, options = {}, &block)
click to toggle source
# File lib/easy/configuration/menu.rb, line 47 def title(key, options = {}, &block) parent = options.delete(:parent) add(key, MenuTitle.new(options, &block), parent) end
visible?(current_user)
click to toggle source
# File lib/easy/configuration/menu.rb, line 13 def visible?(current_user) case @visibility when Proc @visibility.call(current_user) when NilClass true else !!@visibility end end
Private Instance Methods
add(key, menu_item, parent = nil)
click to toggle source
# File lib/easy/configuration/menu.rb, line 59 def add(key, menu_item, parent = nil) if parent && @items[parent.to_s] @items[parent.to_s].children[key.to_s] = menu_item else @items[key.to_s] = menu_item end end