class Decidim::MenuRegistry
This class handles all logic regarding registering menus
Attributes
configurations[R]
Public Class Methods
create(name)
click to toggle source
Creates an empty named menu
@param name [Symbol] The name of the menu
# File lib/decidim/menu_registry.rb, line 39 def create(name) all[name] = new end
destroy(name)
click to toggle source
Destroys a named menu
@param name [Symbol] The name of the menu
# File lib/decidim/menu_registry.rb, line 48 def destroy(name) all[name] = nil end
find(name)
click to toggle source
Finds a menu by name
@param name [Symbol] The name of the menu
# File lib/decidim/menu_registry.rb, line 30 def find(name) all[name] end
new()
click to toggle source
# File lib/decidim/menu_registry.rb, line 61 def initialize @configurations = [] end
register(name, &block)
click to toggle source
Finds a menu by name or creates it if it doesn't exist. Optionally, registers a MenuItem
DSL block for the menu.
@param name [Symbol] Name of the menu @param &block [Menu] Registration body of the menu. It's stored to be
evaluated at rendering time
# File lib/decidim/menu_registry.rb, line 17 def register(name, &block) menu = find(name) || create(name) menu.configurations << block menu end
Private Class Methods
all()
click to toggle source
# File lib/decidim/menu_registry.rb, line 54 def all @all ||= {} end