class CollectiveIdea::Acts::NestedSet::Iterator
Attributes
objects[R]
Public Class Methods
new(objects)
click to toggle source
# File lib/awesome_nested_set/iterator.rb, line 7 def initialize(objects) @objects = objects end
Public Instance Methods
each_with_level() { |o, length - 1| ... }
click to toggle source
# File lib/awesome_nested_set/iterator.rb, line 11 def each_with_level path = [nil] objects.each do |o| if o.parent_id != path.last # we are on a new level, did we descend or ascend? if path.include?(o.parent_id) # remove wrong tailing paths elements path.pop while path.last != o.parent_id else path << o.parent_id end end yield(o, path.length - 1) end end