Dynany
Dynamic JSON/YAML/CON mapping manipulation - extends Any
Installation
Add the dependency to your shard.yml:
dependencies:
  dynany:
    github: j8r/dynanyUsage
This shard monkey patch JSON::Any, YAML::Any and CON::Any to extend them by adding this following methods, which are equivalent for those fround in Hash and Array.
The main difference is the argument, which accept an Enumerable which represents a path in the document.
The available methods are:
#[](path : Enunerable)
#[]?(path : Enumerable
#[]=(path : Enumerable)
#delete(path : Enumerable)
Example
require "dynany/json"
json = JSON.parse %({"hash": {"array": ["first", "second"]}})
json[["hash", "array", 1]]       # => "second"
json.delete ["hash", "array", 1] # => {"hash" => {"array" => ["first"]}}
json[["hash", "array", 1]]?      # => nilLicense
Copyright (c) 2018-2019 Julien Reichardt - ISC License