{"id":22980992,"url":"https://github.com/rubyworks/finder","last_synced_at":"2025-08-13T17:33:42.248Z","repository":{"id":2445061,"uuid":"3415543","full_name":"rubyworks/finder","owner":"rubyworks","description":"File finder for searching Gems, Rolls and Site locations","archived":false,"fork":false,"pushed_at":"2012-12-25T01:21:20.000Z","size":320,"stargazers_count":5,"open_issues_count":2,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-01T00:53:47.052Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://rubyworks.github.com/finder","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubyworks.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","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-02-11T14:19:54.000Z","updated_at":"2024-02-23T03:04:21.000Z","dependencies_parsed_at":"2022-08-06T12:15:25.884Z","dependency_job_id":null,"html_url":"https://github.com/rubyworks/finder","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Ffinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Ffinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Ffinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubyworks%2Ffinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubyworks","download_url":"https://codeload.github.com/rubyworks/finder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":229773540,"owners_count":18122031,"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-12-15T01:46:32.650Z","updated_at":"2024-12-15T01:46:33.544Z","avatar_url":"https://github.com/rubyworks.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"[Homepage](http://rubyworks.github.com/finder) /\n[Report Issue](http://github.com/rubyworks/finder/issues) /\n[Source Code](http://github.com/rubyworks/finder)\n( [![Build Status](https://secure.travis-ci.org/rubyworks/finder.png)](http://travis-ci.org/rubyworks/finder) )\n\n\n# Finder\n\nFinder is a straight-forward file finder for searching Ruby library paths.\nIt can handle RubyGems, Rolls and Ruby's standard site locals. It is both\nmore flexible and more robust the using Gem.find_files or searching the\n$LOAD_PATH manually.\n\n\n## Instructions\n\nTo find paths, simply provide a glob to the appropriate Finder function,\nand it will return all matches found within current or most recent\nversions of a library.\n\nFor example, a common use case for plug-in enabled application is to\nrequire all the files found in library load paths:\n\n    require 'finder'\n\n    Find.feature('myapp/*').each do |file|\n      require(file)\n    end\n\nThis is basically equivalent to:\n\n    Find.load_path('myapp/*.rb', :relative=\u003etrue).each do |file|\n      require(file)\n    end\n\nAlternately you might load files only as needed. For instance, if a\ncommand-line option calls for it.\n\nIn addition Finder has two optional Kernel extensions: `#import`\nand `#import_relative`. These methods can be used like `#require`\nand `#require_relative`, but load code directory into the \ncurrent scope instead of the toplevel.\n\n    require 'finder/import'\n\n    module My\n      import('abbrev.rb')\n    emd\n\n    My::Abbrev::abbrev(['ruby'])\n    =\u003e {\"rub\"=\u003e\"ruby\", \"ru\"=\u003e\"ruby\", \"r\"=\u003e\"ruby\", \"ruby\"=\u003e\"ruby\"}\n\nIt is important to be careful when using `#import` to make sure loaded\nscripts behave as intended. For example, if `abbrev.rb`  were to define\nitself using `::` toplevel namespace indicators, i.e. `::Abbrev`, then\nthe above import would not work as demonstrated.\n\n\n## Copyrights\n\nFinder is copyrighted opensource software.\n\n    Copyright (c) 2009 Rubyworks\n\nIt can be modified and redistributed in accordance with the terms of\nthe **BSD-2-Clause** license.\n\nSee LICENSE.txt file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubyworks%2Ffinder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubyworks%2Ffinder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubyworks%2Ffinder/lists"}