def find(*) # :yield: pathname
      require 'find'
      if @path == '.'
        Find.find(@path) { |f| yield self.class.new(f.sub(%r{/\A\./}, '')) }
      else
        Find.find(@path) { |f| yield self.class.new(f) }
      end
    end
def find(*) # :yield: pathname
      require 'find'
      if @path == '.'
        Find.find(@path) { |f| yield self.class.new(f.sub(%r{/\A\./}, '')) }
      else
        Find.find(@path) { |f| yield self.class.new(f) }
      end
    end
* 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.

 Since it is implemented by <tt>find.rb</tt>, <tt>Find.prune</tt>
 can be used to control the traverse.

 If +self+ is <tt>.</tt>, yielded pathnames begin with
 a filename in the current directory, not <tt>./</tt>.