diff options
author | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-31 05:13:49 +0000 |
---|---|---|
committer | akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-31 05:13:49 +0000 |
commit | 8cc36df9c325327d5984b4139d97cce043b0898f (patch) | |
tree | 9d5bc4528a526bc9eb9de1b20e094ccd787d3e08 /lib/pathname.rb | |
parent | 4a3e62b3836a239089f87e0aed7058856026b793 (diff) | |
download | ruby-8cc36df9c325327d5984b4139d97cce043b0898f.tar.gz |
* lib/pathname.rb (Pathname#each_child): new method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/pathname.rb')
-rw-r--r-- | lib/pathname.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/pathname.rb b/lib/pathname.rb index 788e7d4e3f..c24687bffd 100644 --- a/lib/pathname.rb +++ b/lib/pathname.rb @@ -92,6 +92,7 @@ # - #realpath # - #realdirpath # - #children +# - #each_child # - #mountpoint? # # === File status predicate methods @@ -716,6 +717,36 @@ class Pathname result end + # Iterates over the children of the directory + # (files and subdirectories, not recursive). + # It yields Pathname object for each child. + # By default, the yielded pathnames will have enough information to access the files. + # If you set +with_directory+ to +false+, then the returned pathnames will contain the filename only. + # + # Pathname("/usr/local").each_child {|f| p f } + # #=> #<Pathname:/usr/local/share> + # # #<Pathname:/usr/local/bin> + # # #<Pathname:/usr/local/games> + # # #<Pathname:/usr/local/lib> + # # #<Pathname:/usr/local/include> + # # #<Pathname:/usr/local/sbin> + # # #<Pathname:/usr/local/src> + # # #<Pathname:/usr/local/man> + # + # Pathname("/usr/local").each_child(false) {|f| p f } + # #=> #<Pathname:share> + # # #<Pathname:bin> + # # #<Pathname:games> + # # #<Pathname:lib> + # # #<Pathname:include> + # # #<Pathname:sbin> + # # #<Pathname:src> + # # #<Pathname:man> + # + def each_child(with_directory=true, &b) + children(with_directory).each(&b) + end + # # #relative_path_from returns a relative path from the argument to the # receiver. If +self+ is absolute, the argument must be absolute too. If |