lib/jsonpath/proxy.rb in jsonpath-0.5.8 vs lib/jsonpath/proxy.rb in jsonpath-0.7.0

- old
+ new

@@ -1,20 +1,20 @@ class JsonPath class Proxy attr_reader :obj - alias_method :to_hash, :obj + alias to_hash obj def initialize(obj) @obj = obj end def gsub(path, replacement = nil, &replacement_block) - _gsub(_deep_copy, path, replacement ? proc{replacement} : replacement_block) + _gsub(_deep_copy, path, replacement ? proc { replacement } : replacement_block) end def gsub!(path, replacement = nil, &replacement_block) - _gsub(@obj, path, replacement ? proc{replacement} : replacement_block) + _gsub(@obj, path, replacement ? proc { replacement } : replacement_block) end def delete(path = JsonPath::PATH_ALL) _delete(_deep_copy, path) end @@ -30,12 +30,13 @@ def compact!(path = JsonPath::PATH_ALL) _compact(@obj, path) end private + def _deep_copy - Marshal::load(Marshal::dump(@obj)) + Marshal.load(Marshal.dump(@obj)) end def _gsub(obj, path, replacement) JsonPath.new(path)[obj, :substitute].each(&replacement) Proxy.new(obj) @@ -49,6 +50,6 @@ def _compact(obj, path) JsonPath.new(path)[obj, :compact].each Proxy.new(obj) end end -end \ No newline at end of file +end