lib/jsonpath/enumerable.rb in jsonpath-0.1.0 vs lib/jsonpath/enumerable.rb in jsonpath-0.1.2
- old
+ new
@@ -10,11 +10,11 @@
if pos == @path.size
return blk.call(node)
else
case expr = @path[pos]
when '*', '..'
- each(node, pos + 1, &blk)
+ each(node, pos + 1, &blk)
when '$'
each(node, pos + 1, &blk) if node == @object
when '@'
each(node, pos + 1, &blk)
when /^\[(.*)\]$/
@@ -40,10 +40,11 @@
(start_idx..end_idx).step(step) {|i| each(node[i], pos + 1, &blk)}
end
end
end
else
- blk.call(node) if pos == (@path.size - 1) && eval("node #{@path[pos]}")
+ #p "#{node.inspect} ---> node #{@path[pos]}"
+ blk.call(node) if pos == (@path.size - 1) && node && eval("node #{@path[pos]}")
end
if pos > 0 && @path[pos-1] == '..'
case node
when Hash
\ No newline at end of file