{"id":15406754,"url":"https://github.com/dannyben/extended_yaml","last_synced_at":"2025-09-12T21:20:57.917Z","repository":{"id":35405557,"uuid":"217530426","full_name":"DannyBen/extended_yaml","owner":"DannyBen","description":"Ruby YAML with support for including and merging additional YAML files","archived":false,"fork":false,"pushed_at":"2025-08-01T15:28:35.000Z","size":33,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-09T20:29:50.247Z","etag":null,"topics":["yaml"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/DannyBen.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2019-10-25T12:37:30.000Z","updated_at":"2025-08-01T15:28:39.000Z","dependencies_parsed_at":"2024-10-19T12:43:32.658Z","dependency_job_id":null,"html_url":"https://github.com/DannyBen/extended_yaml","commit_stats":{"total_commits":34,"total_committers":1,"mean_commits":34.0,"dds":0.0,"last_synced_commit":"5cc9891c415968196b58b8c9b86c1199a0c3e8e2"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/DannyBen/extended_yaml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fextended_yaml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fextended_yaml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fextended_yaml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fextended_yaml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DannyBen","download_url":"https://codeload.github.com/DannyBen/extended_yaml/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DannyBen%2Fextended_yaml/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274848902,"owners_count":25360984,"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","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["yaml"],"created_at":"2024-10-01T16:25:13.365Z","updated_at":"2025-09-12T21:20:57.900Z","avatar_url":"https://github.com/DannyBen.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Extended YAML\n==================================================\n\nExtendedYAML adds a couple of additional features to the standard YAML \nlibrary:\n\n1. Each YAML file can extend (inherit from) other YAML files by specifying\n   `extends: other_file` \n2. YAML files are parsed for ERB tags.\n\nIt is a simpler reimplementation of [yaml_extend][1].\n\n\nInstallation\n--------------------------------------------------\n\n\n    $ gem install extended_yaml\n\n\n\nUsage\n--------------------------------------------------\n\nGiven this [simple.yml](examples/simple.yml) file:\n\n```yaml\nextends: subdir/production.yml\n\nsettings:\n  host: localhost\n  port: 80\n```\n\nwhich uses `extends` to load this\n[subdir/production.yml](examples/subdir/production.yml) file.\n\n```yaml\nsettings:\n  host: example.com\n```\n\nWe can now load the extended YAML file like this:\n\n```ruby\n# Load an extended YAML\nrequire 'extended_yaml'\n\np ExtendedYAML.load 'examples/simple.yml'\n#=\u003e {\"settings\"=\u003e{\"host\"=\u003e\"localhost\", \"port\"=\u003e80}}\n```\n\nNotes\n--------------------------------------------------\n\n1. Arrays will be merged.\n2. Nested hashes will be merged.\n3. Other types of values will be overridden based on which loaded file was\n   the last to define them.\n4. ERB tags will be evaluated in all YAML files.\n5. The `extends` option can use either a single file string, or an array. \n   Extensions are optional.\n6. Using `*` anywhere in the `extends` path will load multiple files with one\n   call.\n7. If you need to use a key that is named differently than `extends`, provide\n   it using the `key` keyword argument:\n   ```ruby\n   ExtendedYAML.load 'examples/simple.yml', key: 'include'\n   ```\n\nSee the [examples/master.yml](examples/master.yml) file for additional\ninformation.\n\n\n[1]: https://github.com/magynhard/yaml_extend\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannyben%2Fextended_yaml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdannyben%2Fextended_yaml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdannyben%2Fextended_yaml/lists"}