Class: Goldencobra::Menue
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Goldencobra::Menue
- Defined in:
- app/models/goldencobra/menue.rb
Class Method Summary collapse
Instance Method Summary collapse
- #has_active_child?(request, subtree_menues) ⇒ Boolean
- #has_active_descendant?(subtree_menues, request) ⇒ Boolean
- #is_active?(request) ⇒ Boolean
- #mapped_to_article? ⇒ Boolean
Class Method Details
.find_by_pathname(name) ⇒ Object
54 55 56 57 58 59 60 |
# File 'app/models/goldencobra/menue.rb', line 54 def self.find_by_pathname(name) if name.include?("/") where(:title => name.split("/").last).select{|a| a.path.map(&:title).join("/") == name}.first else find_by_title(name) end end |
Instance Method Details
#has_active_child?(request, subtree_menues) ⇒ Boolean
67 68 69 70 |
# File 'app/models/goldencobra/menue.rb', line 67 def has_active_child?(request, ) @has_active_child_result ||= {} @has_active_child_result[request.path.squeeze("/").split("?")[0]] ||= has_active_descendant?(,request) end |
#has_active_descendant?(subtree_menues, request) ⇒ Boolean
72 73 74 |
# File 'app/models/goldencobra/menue.rb', line 72 def has_active_descendant?(,request) .select{|a| a.ancestry.to_s.starts_with?("#{self.ancestry}/#{self.id}")}.map(&:target).include?(request.path.squeeze("/").split("?")[0]) end |
#is_active?(request) ⇒ Boolean
62 63 64 65 |
# File 'app/models/goldencobra/menue.rb', line 62 def is_active?(request) @is_active_result ||= {} @is_active_result[request.path.squeeze("/").split("?")[0]] ||= request.path.squeeze("/").split("?")[0] == self.target.gsub("\"",'') end |
#mapped_to_article? ⇒ Boolean
76 77 78 |
# File 'app/models/goldencobra/menue.rb', line 76 def mapped_to_article? @mapped_to_article_result ||= Goldencobra::Article.select([:url_name, :startpage, :ancestry, :id]).map{|a| a.public_url}.uniq.include?(self.target) end |