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)