diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-11-19 12:52:37 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-11-19 12:52:37 +0000 |
commit | 54f282c2c4102e6b2d3c641054b3c08808788224 (patch) | |
tree | 4a2bae73b6c3118135083e95f0cb34d8de507dc0 /ext | |
parent | 62fed7c91a7a38e0469bbd454d1c4e8c373e91e5 (diff) | |
download | ruby-54f282c2c4102e6b2d3c641054b3c08808788224.tar.gz |
* lib/pathname.rb (Pathname#find): return an enumerator if
no block is given.
* test/pathname/test_pathname.rb: add tests for above.
[ruby-dev:44797] [Feature #5572]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/pathname/lib/pathname.rb | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/ext/pathname/lib/pathname.rb b/ext/pathname/lib/pathname.rb index 90485a2783..4909c2dc23 100644 --- a/ext/pathname/lib/pathname.rb +++ b/ext/pathname/lib/pathname.rb @@ -489,6 +489,8 @@ class Pathname # * Find * # Pathname#find is an iterator to traverse a directory tree in a depth first # manner. It yields a Pathname for each file under "this" directory. # + # Returns an enumerator if no block is given. + # # Since it is implemented by <tt>find.rb</tt>, <tt>Find.prune</tt> can be used # to control the traversal. # @@ -496,6 +498,7 @@ class Pathname # * Find * # current directory, not <tt>./</tt>. # def find # :yield: pathname + return to_enum(__method__) unless block_given? require 'find' if @path == '.' Find.find(@path) {|f| yield self.class.new(f.sub(%r{\A\./}, '')) } |