{"id":29272077,"url":"https://github.com/acook/enumerable_deep_search","last_synced_at":"2025-07-05T00:10:30.046Z","repository":{"id":4362850,"uuid":"5499192","full_name":"acook/enumerable_deep_search","owner":"acook","description":"Recursively search enumerable objects","archived":false,"fork":false,"pushed_at":"2016-09-22T17:56:09.000Z","size":20,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-03T03:14:15.978Z","etag":null,"topics":["data-exploration","data-mining","nested-objects"],"latest_commit_sha":null,"homepage":"https://github.com/acook/enumerable_deep_search#readme","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/acook.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-08-21T18:35:24.000Z","updated_at":"2018-02-04T05:09:13.000Z","dependencies_parsed_at":"2022-08-23T14:21:17.200Z","dependency_job_id":null,"html_url":"https://github.com/acook/enumerable_deep_search","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/acook/enumerable_deep_search","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acook%2Fenumerable_deep_search","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acook%2Fenumerable_deep_search/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acook%2Fenumerable_deep_search/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acook%2Fenumerable_deep_search/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/acook","download_url":"https://codeload.github.com/acook/enumerable_deep_search/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acook%2Fenumerable_deep_search/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263228837,"owners_count":23433976,"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":["data-exploration","data-mining","nested-objects"],"created_at":"2025-07-05T00:10:29.422Z","updated_at":"2025-07-05T00:10:30.040Z","avatar_url":"https://github.com/acook.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EnumerableDeepSearch \n\nRecursively searches enumerable objects and their nested objects for a given object or string.\n\n[![Build Status](https://travis-ci.org/acook/enumerable_deep_search.svg?branch=master)](https://travis-ci.org/acook/enumerable_deep_search)\n[![Code Climate](https://codeclimate.com/github/acook/enumerable_deep_search/badges/gpa.svg)](https://codeclimate.com/github/acook/enumerable_deep_search)\n\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n    gem 'enumerable_deep_search'\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install enumerable_deep_search\n\n## Usage\n\nIn practice it's an exploration tool, I recommend using it with [Pry](http://pryrepl.org) and extending objects as needed.\nYou can also include it on a class and all the instances will inherit the functionality.\n\nPersonally I've found this the most useful for searching web apis converted from XML and JSON into Ruby objects. \nIts useful on any large nested data, such as configuration structures dumped from YAML files.\n\nexample:\n\n```ruby\nobject.extend EnumerableDeepSearch\nobject.search 'something'\n```\n\nIt will return a facimile of the path to the matching object, for hash-like objects it will return a Hash containing the match as well as the opposite pair (either the key or the value), for array-like objects it will return a two element Array where the first element is the index of the match and second element the match itself.\n\nexample:\n\n```ruby\nobject.search 'something'\n#=\u003e {:foo =\u003e [1, 'something']}\n```\n\n## Ideas? Complaints?\n\n- You could Contribute: https://github.com/acook/enumerable_deep_search/fork\n- Or you could Submit an issue: https://github.com/acook/enumerable_deep_search/issues\n- Or you could even ping me on Twitter: http://twitter.com/anthony_m_cook\n\n## Contributing\n\n1. Fork it\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 new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facook%2Fenumerable_deep_search","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facook%2Fenumerable_deep_search","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facook%2Fenumerable_deep_search/lists"}