Method: Path#children
- Defined in:
- lib/path/dir.rb
#children(with_directory = true) ⇒ Object
Returns the children of the directory (files and subdirectories, not recursive) as an array of Path objects. The children paths are always sorted to ensure a deterministic order. By default, the returned paths will have enough information to access the files. If you set with_directory to false, then the returned paths will contain the filename only.
For example:
pn = Path("/usr/lib/ruby/1.8")
pn.children
# -> [ #<Path /usr/lib/ruby/1.8/English.rb>,
#<Path /usr/lib/ruby/1.8/Env.rb>,
#<Path /usr/lib/ruby/1.8/abbrev.rb>, ... ]
pn.children(false)
# -> [ #<Path English.rb>, #<Path Env.rb>, #<Path abbrev.rb>, ... ]
Note that the results never contain the entries . and .. in the directory because they are not children.
116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/path/dir.rb', line 116 def children(with_directory=true) with_directory = false if @path == '.' result = [] Dir.foreach(@path) { |e| next if e == '.' || e == '..' if with_directory result << Path.new(@path, e) else result << Path.new(e) end } result.sort! result end |