A better way to find files with Ruby
Latest commit d348b80 Dec 16, 2015 @djberg96 Version bump.
Failed to load latest commit information.
certs Initial commit. Dec 16, 2015
lib Version bump. Dec 16, 2015
test Version bump. Dec 16, 2015
CHANGES Added changes for 0.3.9. Dec 16, 2015
MANIFEST Added new files. Dec 16, 2015
README Updated copyright. Dec 16, 2015
Rakefile Added signing key. Dec 16, 2015
file-find.gemspec Removed rubyforge_project, added cert_chain. Dec 16, 2015


= Description
  This is a drop-in replacement for the find module currently in the standard
  library. It is modeled on a typical 'find' command found on most Unix systems.

= Installation

  gem install file-find

= Synopsis
  require 'file/find'

  rule = File::Find.new(
    :pattern => "*.rb",
    :follow  => false,
    :path    => ['/usr/local/lib', '/opt/local/lib']

  rule.find{ |f|
    puts f

= Rationale
  The current find module in the standard library is inadequate. It is, quite
  frankly, not much more than a plain Dir.glob call. This library provides an
  interface based on options typically available on your command line 'find'
  command, thus allowing you much greater control over how you find your files.

= Options
  * atime
  * ctime
  * follow
  * ftype
  * inum
  * group (name or id)
  * maxdepth
  * mindepth
  * mount
  * mtime
  * name (or 'pattern')
  * path
  * perm
  * prune
  * size
  * user (name or id)

  In addition to the above options, FileTest methods such as 'readable?' and
  'writable?' may be used as keys, with true or false for their values.

  See the RDoc documentation for more details about these options.

= Future Plans
  None at this time. Please log any feature requests on the project page at:


= Options I won't support
  Generally speaking, anything that would require mucking around with C code
  or is just too difficult to implement in a cross platform manner will not be
  supported. These include the following options:

  * acl/xattr - Way too difficult to implement in a cross platform manner, and
    a rarely used option in practice.

  * cpio/ncpio - I will not shell out to this or any other 3rd party

  * ls/print - Use Ruby's builtin printing methods to print as you see fit.

  * ok - This is not interactive software.

= Known Issues
  The mindepth and maxdepth options do not work for more than 1 path.

  The :perm option is limited to 0644 and 0444 on MS Windows.

  The :user, :group, and :inum options require the win32-file gem to work
  properly on MS Windows. However, it is not officially a dependency.

  There are 3 test failures with JRuby, all related to the 'perm' option. I
  have not been able to reduce them to a simple test case and discern the
  exact cause of the failures, though I suspect a bug in the JRuby
  implementation of File.chmod.

= Bugs
  None that I'm aware of beyond the ones mentioned in the Known Issues. Please
  log any bug reports on the project page at:


= Acknowledgements
  * Richard Clamp's File::Find::Rule Perl module for additional ideas and
  * Bill Kleb for ideas regarding name, group and perm enhancements.
  * Hal Fulton for his implementation of symbolic permissions.

= License
  Artistic 2.0

= Copyright
  (C) 2007-2015, Daniel J. Berger, All Rights Reserved

= Author
  Daniel J. Berger