643: def reclist(abspath, recurse, ignore)
644: require 'puppet/file_serving'
645: require 'puppet/file_serving/fileset'
646: if recurse.is_a?(Fixnum)
647: args = { :recurse => true, :recurselimit => recurse, :links => :follow }
648: else
649: args = { :recurse => recurse, :links => :follow }
650: end
651: args[:ignore] = ignore if ignore
652: fs = Puppet::FileServing::Fileset.new(abspath, args)
653: ary = fs.files.collect do |file|
654: if file == "."
655: file = "/"
656: else
657: file = File.join("/", file )
658: end
659: stat = fs.stat(File.join(abspath, file))
660: next if stat.nil?
661: [ file, stat.ftype ]
662: end
663:
664: ary.compact
665: end