github.com/j8r/dynany

Dynamic JSON/YAML/CON mapping manipulation - extends Any

1 stars
1 dependent
License: ISC

Installation

# Add this to your shard.yml
dependencies:
  dynany:
    github: j8r/dynany
    version: ~> 0.2.2

Then run:

shards install

shard.yml

Crystal
no constraint declared
License
ISC
Author
Julien Reichardt

Dependencies

Development Dependencies

  • con*github: j8r/condev

README

Build Status

Dynany

Dynamic JSON/YAML/CON mapping manipulation - extends Any

Installation

Add the dependency to your shard.yml:

dependencies:
  dynany:
    github: j8r/dynany

Usage

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]]?      # => nil

License

Copyright (c) 2018-2019 Julien Reichardt - ISC License