lib/jsonpath/proxy.rb in jsonpath-0.9.3 vs lib/jsonpath/proxy.rb in jsonpath-0.9.4
- old
+ new
@@ -44,10 +44,20 @@
Proxy.new(obj)
end
def _delete(obj, path)
JsonPath.new(path)[obj, :delete].each
+ obj = _remove(obj)
Proxy.new(obj)
+ end
+
+ def _remove(obj)
+ obj.each do |o|
+ if o.is_a?(Hash) || o.is_a?(Array)
+ _remove(o)
+ o.delete({})
+ end
+ end
end
def _compact(obj, path)
JsonPath.new(path)[obj, :compact].each
Proxy.new(obj)