Sha256: 68a11de48b622b2e838dada1d27171e592e4004641d97b70e887d0d4dfde9d35
Contents?: true
Size: 597 Bytes
Versions: 3
Compression:
Stored size: 597 Bytes
Contents
class JsonPath class Proxy def initialize(obj) @obj = obj end def gsub(path, replacement = nil, &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) end private def deep_copy Marshal::load(Marshal::dump(@obj)) end def _gsub(obj, path, replacement) JsonPath.new(path, :mode => :substitute).enum_on(obj).each(&replacement) obj end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
jsonpath-0.4.2 | lib/jsonpath/proxy.rb |
jsonpath-0.4.1 | lib/jsonpath/proxy.rb |
jsonpath-0.4.0 | lib/jsonpath/proxy.rb |