Socket
Book a DemoInstallSign in
Socket

finder

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

finder

0.4.0
bundlerRubygems
Version published
Maintainers
1
Created
Source

Homepage / Report Issue / Source Code ( Build Status )

Finder

Finder is a straight-forward file finder for searching Ruby library paths. It can handle RubyGems, Rolls and Ruby's standard site locals. It is both more flexible and more robust the using Gem.find_files or searching the $LOAD_PATH manually.

Instructions

To find paths, simply provide a glob to the appropriate Finder function, and it will return all matches found within current or most recent versions of a library.

For example, a common use case for plug-in enabled application is to require all the files found in library load paths:

require 'finder'

Find.feature('myapp/*').each do |file|
  require(file)
end

This is basically equivalent to:

Find.load_path('myapp/*.rb', :relative=>true).each do |file|
  require(file)
end

Alternately you might load files only as needed. For instance, if a command-line option calls for it.

In addition Finder has two optional Kernel extensions: #import and #import_relative. These methods can be used like #require and #require_relative, but load code directory into the current scope instead of the toplevel.

require 'finder/import'

module My
  import('abbrev.rb')
emd

My::Abbrev::abbrev(['ruby'])
=> {"rub"=>"ruby", "ru"=>"ruby", "r"=>"ruby", "ruby"=>"ruby"}

It is important to be careful when using #import to make sure loaded scripts behave as intended. For example, if abbrev.rb were to define itself using :: toplevel namespace indicators, i.e. ::Abbrev, then the above import would not work as demonstrated.

Copyrights

Finder is copyrighted opensource software.

Copyright (c) 2009 Rubyworks

It can be modified and redistributed in accordance with the terms of the BSD-2-Clause license.

See LICENSE.txt file for details.

FAQs

Package last updated on 25 Dec 2012

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.