Class: WebsiteNavItem

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
ErpTechSvcs::Utils::DefaultNestedSetMethods
Defined in:
app/models/website_nav_item.rb

Instance Method Summary collapse

Instance Method Details

#build_menu_item_hashObject



28
29
30
31
32
33
34
35
36
37
38
# File 'app/models/website_nav_item.rb', line 28

def build_menu_item_hash
  {
      :title => self.title,
      :url => self.url,
      :roles => self.roles.collect(&:internal_identifier),
      :linked_to_item_type => self.linked_to_item_type,
      :linked_to_item_path => self.linked_to_item.nil? ? nil : self.linked_to_item.path,
      :position => self.position,
      :items => self.children.collect { |child| child.build_menu_item_hash }
  }
end

#is_secured?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'app/models/website_nav_item.rb', line 24

def is_secured?
  self.protected_with_capability?('view')
end

#pathObject



12
13
14
# File 'app/models/website_nav_item.rb', line 12

def path
  linked_to_item.nil? ? url : linked_to_item.path
end

#positioned_childrenObject



16
17
18
# File 'app/models/website_nav_item.rb', line 16

def positioned_children
  children.sort_by{|child| [child.position]}
end

#website_navObject



20
21
22
# File 'app/models/website_nav_item.rb', line 20

def website_nav
  website_nav_id.nil? ? self.parent.website_nav : WebsiteNav.find(website_nav_id)
end