{"id":17682391,"url":"https://github.com/peterhoeg/deep-merge.cr","last_synced_at":"2025-03-30T19:22:28.081Z","repository":{"id":140783837,"uuid":"260792250","full_name":"peterhoeg/deep-merge.cr","owner":"peterhoeg","description":"Deep merge support for Hash","archived":false,"fork":false,"pushed_at":"2021-11-15T00:27:57.000Z","size":13,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-05T21:58:07.079Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Crystal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peterhoeg.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-02T23:17:12.000Z","updated_at":"2021-01-24T12:02:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"87b76443-4d75-40e2-af97-fe5ff3647635","html_url":"https://github.com/peterhoeg/deep-merge.cr","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterhoeg%2Fdeep-merge.cr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterhoeg%2Fdeep-merge.cr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterhoeg%2Fdeep-merge.cr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterhoeg%2Fdeep-merge.cr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterhoeg","download_url":"https://codeload.github.com/peterhoeg/deep-merge.cr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246366537,"owners_count":20765711,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-24T09:13:41.771Z","updated_at":"2025-03-30T19:22:28.027Z","avatar_url":"https://github.com/peterhoeg.png","language":"Crystal","funding_links":[],"categories":[],"sub_categories":[],"readme":"* deep-merge\n[[https://github.com/peterhoeg/deep-merge.cr/workflows/Crystal%20CI/badge.svg]]\n\nAdds support for deep merges to =Hash=\n\n#+BEGIN_SRC crystal\n  # normal merge\n  { \"a\" =\u003e { \"b\" =\u003e 4 } }.merge({ \"a\" =\u003e { \"c\" =\u003e true } })\n  =\u003e { \"a\" =\u003e { \"c\" =\u003e true } }\n\n  # deep merge\n  { \"a\" =\u003e { \"b\" =\u003e 4 } }.deep_merge({ \"a\" =\u003e { \"c\" =\u003e true } })\n  =\u003e { \"a\" =\u003e { \"b\" =\u003e 4, \"c\" =\u003e true } }\n#+END_SRC\n\n* Installation\n\nAdd it to =shards.yml= in your project:\n\n#+BEGIN_SRC yaml\n  dependencies:\n    deep-merge:\n      gitlab: peterhoeg/deep-merge.cr\n#+END_SRC\n\n* Usage\n\n#+BEGIN_SRC crystal\nrequire \"deep-merge\"\n#+END_SRC\n\n=Hash= is now monkey-patched to support =.deep_merge= and =.deep_merge!= instance methods.\n\n** TODO Add support for:\n\n - [ ] arrays (probably configurable)\n#+BEGIN_SRC crystal\n  { \"a\" =\u003e [ \"b\" ] }.deep_merge({ \"a\" =\u003e [ \"c\" ] })\n  =\u003e { \"a\" =\u003e [ \"b\", \"c\" ] }\n#+END_SRC\n - [ ] arrays of Hashes\n\n* Development / Contributing\n\n1. Fork it (\u003chttps://github.com/peterhoeg/deep-merge/fork\u003e)\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Merge Request\n\n* Contributors\n\n- [[https://github.com/peterhoeg][peterhoeg]] Peter Hoeg - creator, maintainer\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterhoeg%2Fdeep-merge.cr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterhoeg%2Fdeep-merge.cr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterhoeg%2Fdeep-merge.cr/lists"}