lib/spiderfw/model/mixins/tree.rb in spiderfw-0.6.1 vs lib/spiderfw/model/mixins/tree.rb in spiderfw-0.6.2

- old
+ new

@@ -17,10 +17,11 @@ c = Condition.and c[left_el] = (left..right) q = Query.new(c) q.order_by(left_el) res = element.model.find(q) + return [] unless res right_stack = [] res.each do |obj| if (right_stack.length > 0) right_stack.pop while (right_stack[right_stack.length-1] < obj.get(right_el)) obj.set(element.attributes[:tree_depth], right_stack.length) @@ -87,10 +88,10 @@ QuerySet.autoloading(self).send("#{name}_leafs") end define_method("#{name}_all") do - qs = QuerySet.new(self) + qs = QuerySet.static(self) self.send("#{name}_roots").each do |root| qs += root.tree_all(name) end return qs end