Class: Menu

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/menu.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.cache_key(sid, name) ⇒ Object



29
30
31
# File 'app/models/menu.rb', line 29

def Menu.cache_key(sid, name)
  "_menu_#{sid}_#{name.downcase}"
end

Instance Method Details

#add_page(page, name = nil, parent_id = 0) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'app/models/menu.rb', line 13

def add_page(page, name=nil, parent_id = 0)
  mi = MenuItem.new
  mi.parent_id = parent_id
  mi.name = name || page.title
  mi.link_url = page.full_path
  mi.title = page.title
  mi.menu_id = self.id
  mi.order_by = self.menu_items.count + 1
  mi.system_id = self.system_id
  mi.save
end

#flushObject



25
26
27
# File 'app/models/menu.rb', line 25

def flush
  Rails.cache.delete(Menu.cache_key(self.system_id, self.name))
end

#top_level_itemsObject



5
6
7
8
9
10
11
# File 'app/models/menu.rb', line 5

def top_level_items
  r = []
  self.menu_items.each do |item|
    r << item if item.parent_id = 0
  end
  return r
end