diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:38:25 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:38:25 +0000 |
commit | 9ff1e787f915539b1980654e3d3d2013ff5c81d2 (patch) | |
tree | 8d0fc9ca5b4dbfa9885dc56862292d55091bcaac /ruby_1_8_6/lib/find.rb | |
parent | 441546edcfbb1b346c87b69c5f578d1a0e522e06 (diff) |
wrong commit; sorryv1_8_6_269
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_6_269@17938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_6/lib/find.rb')
-rw-r--r-- | ruby_1_8_6/lib/find.rb | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/ruby_1_8_6/lib/find.rb b/ruby_1_8_6/lib/find.rb deleted file mode 100644 index 0d22dd62d6..0000000000 --- a/ruby_1_8_6/lib/find.rb +++ /dev/null @@ -1,79 +0,0 @@ -# -# find.rb: the Find module for processing all files under a given directory. -# - -# -# The +Find+ module supports the top-down traversal of a set of file paths. -# -# For example, to total the size of all files under your home directory, -# ignoring anything in a "dot" directory (e.g. $HOME/.ssh): -# -# require 'find' -# -# total_size = 0 -# -# Find.find(ENV["HOME"]) do |path| -# if FileTest.directory?(path) -# if File.basename(path)[0] == ?. -# Find.prune # Don't look any further into this directory. -# else -# next -# end -# else -# total_size += FileTest.size(path) -# end -# end -# -module Find - - # - # Calls the associated block with the name of every file and directory listed - # as arguments, then recursively on their subdirectories, and so on. - # - # See the +Find+ module documentation for an example. - # - def find(*paths) # :yield: path - paths.collect!{|d| d.dup} - while file = paths.shift - catch(:prune) do - yield file.dup.taint - next unless File.exist? file - begin - if File.lstat(file).directory? then - d = Dir.open(file) - begin - for f in d - next if f == "." or f == ".." - if File::ALT_SEPARATOR and file =~ /^(?:[\/\\]|[A-Za-z]:[\/\\]?)$/ then - f = file + f - elsif file == "/" then - f = "/" + f - else - f = File.join(file, f) - end - paths.unshift f.untaint - end - ensure - d.close - end - end - rescue Errno::ENOENT, Errno::EACCES - end - end - end - end - - # - # Skips the current file or directory, restarting the loop with the next - # entry. If the current file is a directory, that directory will not be - # recursively entered. Meaningful only within the block associated with - # Find::find. - # - # See the +Find+ module documentation for an example. - # - def prune - throw :prune - end - - module_function :find, :prune -end |