lib/usher/node.rb in joshbuddy-usher-0.2.2 vs lib/usher/node.rb in joshbuddy-usher-0.3.0
- old
+ new
@@ -19,18 +19,11 @@
@exclusive_type = nil
@has_globber = find_parent{|p| p.value && p.value.is_a?(Route::Variable)}
end
def depth
- unless @depth
- @depth = 0
- p = self
- while (p = p.parent) && p.is_a?(Node)
- @depth += 1
- end
- end
- @depth
+ @depth ||= @parent && @parent.is_a?(Node) ? @parent.depth + 1 : 0
end
def self.root(route_set)
self.new(route_set, nil)
end
@@ -101,10 +94,10 @@
current_node.terminates = path
end
route
end
- def find(request, path = Route::Splitter.url_split(request.path), params = [])
+ def find(request, path, params = [])
part = path.shift unless path.size.zero?
if @exclusive_type
path.unshift part
[@lookup[request.send(@exclusive_type)], @lookup[nil]].each do |n|