module FakeFS::FileSystem
def find_recurser(dir, parts)
def find_recurser(dir, parts) return [] unless dir.respond_to? :[] pattern , *parts = parts matches = dir.reject {|k,v| /\A#{pattern.gsub('?','.').gsub('*', '.*')}\Z/ !~ k }.values if parts.empty? # we're done recursing matches else matches.map{|entry| find_recurser(entry, parts) } end end