Crystal Hash/Array merge syntactic sugar.
Add this to your application's shard.yml:
dependencies:
any_merge:
github: icyleaf/any_merge
branch: masterrequire "any_merge"
require "json"
json = JSON.parse(%Q{{"string":"foo","int":123,"float":1.23,"bool":true}}).as_h
new_json = json.any_merge({"string" => "bar", "nil" => nil })
puts new_json
# => {"string" => "bar", "int" => 123_i64, "float" => 1.23, "bool" => true, "nil" => nil}
json.any_merge!({"string" => "json"})
puts json
# => {"string" => "json", "int" => 123_i64, "float" => 1.23, "bool" => true}
Check spec code.
- Hash
- JSON::Any
- YAML::Any
- Hash(String | Symbol | Int32 | Int64, String | Int32 | Int64 | Float64 | Bool | Nil)
- Array
TODO: Write development instructions here
- Fork it (https://github.com/icyleaf/any_merge/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
- icyleaf - creator, maintainer