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