Sha256: ec2e714c58456e102d5830a97daa1e5c87bdfd9f33bd672e957a7a17fd95006a
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
module Classiccms module Routing #in charge of get the first item of a given model (for menu items etc.) def get_first_item Base.where(:_type => CONFIG[:model]).each do |item| if item.connections.where(:parent_id => nil, :section => CONFIG[:section], :order_id.lte => 1).count > 0 return item end end end #This method will get you the most awesome route through a tree! (OMG!) def get_route(current, routes = []) if current.kind_of? Base routes << current.id branches = Array.new current.connections.each_with_index do |connection, i| if connection.parent_id != nil and Base.where(:_id => connection.parent_id).count > 0 branches[i] = get_route(Base.find(connection.parent_id)) end end new = Array.new branches.each do |branch| if branch != nil and (new.count == 0 or new.count > branches.count) new = branch end end routes += new end routes end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
classiccms-0.5.12 | lib/classiccms/lib/routing.rb |