Add Middleman::Util.all_files_under to get a recursive listing of files beneath a path, follows symlinks. Fixes #515
This commit is contained in:
parent
b67d4e7c82
commit
4b03c5e2df
5 changed files with 57 additions and 45 deletions
|
@ -74,6 +74,21 @@ module Middleman
|
|||
File.fnmatch(matcher.to_s, path)
|
||||
end
|
||||
end
|
||||
|
||||
# Get a recusive list of files inside a set of paths.
|
||||
# Works with symlinks.
|
||||
#
|
||||
# @param path A path string or Pathname
|
||||
# @return [Array] An array of filenames
|
||||
def self.all_files_under(*paths)
|
||||
paths.flatten!
|
||||
paths.map! { |p| Pathname(p) }
|
||||
files = paths.select { |p| p.file? }
|
||||
(paths - files).each do |dir|
|
||||
files << all_files_under(dir.children)
|
||||
end
|
||||
files.flatten
|
||||
end
|
||||
|
||||
# Simple shared cache implementation
|
||||
class Cache
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue