Method: Path#ascend
- Defined in:
- lib/path/parts.rb
#ascend {|path| ... } ⇒ Object Also known as: ancestors
Iterates over each element in the given path in ascending order.
Path.new('/path/to/some/file.rb').ascend { |v| p v }
#<Path /path/to/some/file.rb>
#<Path /path/to/some>
#<Path /path/to>
#<Path /path>
#<Path />
Path.new('path/to/some/file.rb').ascend { |v| p v }
#<Path path/to/some/file.rb>
#<Path path/to/some>
#<Path path/to>
#<Path path>
It doesn’t access the filesystem.
137 138 139 140 141 142 143 144 145 146 |
# File 'lib/path/parts.rb', line 137 def ascend return to_enum(:ascend) unless block_given? path = @path yield self while r = chop_basename(path) path, = r break if path.empty? yield Path.new(del_trailing_separator(path)) end end |