lib/fakefs/pathname.rb
def descend
      vs = []
      ascend { |v| vs << v }
      vs.reverse_each { |v| yield v }
      nil
    end
def descend
      vs = []
      ascend { |v| vs << v }
      vs.reverse_each { |v| yield v }
      nil
    end
Iterates over and yields a new Pathname object
 for each element in the given path in descending order.

  Pathname.new('/path/to/some/file.rb').descend { |v| p v}
     #<Pathname:/>
     #<Pathname:/path>
     #<Pathname:/path/to>
     #<Pathname:/path/to/some>
     #<Pathname:/path/to/some/file.rb>

  Pathname.new('path/to/some/file.rb').descend { |v| p v}
     #<Pathname:path>
     #<Pathname:path/to>
     #<Pathname:path/to/some>
     #<Pathname:path/to/some/file.rb>

 It doesn't access actual filesystem.

 This method is available since 1.8.5.