672: def reclist(abspath, recurse, ignore)
673: require 'puppet/file_serving'
674: require 'puppet/file_serving/fileset'
675: if recurse.is_a?(Fixnum)
676: args = { :recurse => true, :recurselimit => recurse, :links => :follow }
677: else
678: args = { :recurse => recurse, :links => :follow }
679: end
680: args[:ignore] = ignore if ignore
681: fs = Puppet::FileServing::Fileset.new(abspath, args)
682: ary = fs.files.collect do |file|
683: if file == "."
684: file = "/"
685: else
686: file = File.join("/", file )
687: end
688: stat = fs.stat(File.join(abspath, file))
689: next if stat.nil?
690: [ file, stat.ftype ]
691: end
692:
693: return ary.compact
694: end