Class: DcBigMenu
- Inherits:
-
Object
- Object
- DcBigMenu
- Includes:
- Mongoid::Document, Mongoid::Timestamps
- Defined in:
- app/models/dc_big_menu.rb
Overview
Mongoid::Document model for dc_big_menus collection.
This menu system is still experimental. It can be used for sites with menu which has many sub menus each linked to its own document. Unlike other menu models which provide menu in single document (with embedded documents as sub menus) this menu system provides one document for every menu option.
Class Method Summary collapse
-
.add_sub_menu(site, parent, rez, level) ⇒ Object
Process submenu.
-
.choices4_menu(site) ⇒ Object
Returns available menu choices for selecting menu.
Class Method Details
.add_sub_menu(site, parent, rez, level) ⇒ Object
Process submenu. Subroutine of choices4_menu.
56 57 58 59 60 61 62 |
# File 'app/models/dc_big_menu.rb', line 56 def self.(site, parent, rez, level) #TODO Make this faster only(:_id,:parent,:caption).where(dc_site_id: site._id, parent: parent).sort( order: 1).to_a.each do |m| rez << ['- '*(level+1) + ' ' + m.caption, m._id] self.(site, m._id, rez, level+1) end end |
.choices4_menu(site) ⇒ Object
Returns available menu choices for selecting menu
67 68 69 70 71 |
# File 'app/models/dc_big_menu.rb', line 67 def self.(site) rez = [] self.(site, nil, rez, -1) rez end |