Commit 7348a0e0 authored by Vincent Isambart's avatar Vincent Isambart

remove handling of non-string patterns

The method signature says that patterns are supposed to be strings, and
as now specs are stored in JSON, regexps should not be used anymore.
parent ae94566f
...@@ -47,7 +47,6 @@ module Pod ...@@ -47,7 +47,6 @@ module Pod
unless root.exist? unless root.exist?
raise Informative, "Attempt to read non existent folder `#{root}`." raise Informative, "Attempt to read non existent folder `#{root}`."
end end
@glob_cache = {}
root_length = root.to_s.length + 1 root_length = root.to_s.length + 1
escaped_root = escape_path_for_glob(root) escaped_root = escape_path_for_glob(root)
paths = Dir.glob(escaped_root + '**/*', File::FNM_DOTMATCH) paths = Dir.glob(escaped_root + '**/*', File::FNM_DOTMATCH)
...@@ -57,6 +56,7 @@ module Pod ...@@ -57,6 +56,7 @@ module Pod
relative_paths = absolute_paths.map { |p| p[root_length..-1] } relative_paths = absolute_paths.map { |p| p[root_length..-1] }
@files = relative_paths - relative_dirs @files = relative_paths - relative_dirs
@dirs = relative_dirs.map { |d| d.gsub(/\/\.\.?$/, '') }.reject { |d| d == '.' || d == '..' } .uniq @dirs = relative_dirs.map { |d| d.gsub(/\/\.\.?$/, '') }.reject { |d| d == '.' || d == '..' } .uniq
@glob_cache = {}
end end
#-----------------------------------------------------------------------# #-----------------------------------------------------------------------#
...@@ -118,19 +118,15 @@ module Pod ...@@ -118,19 +118,15 @@ module Pod
end end
list = Array(patterns).map do |pattern| list = Array(patterns).map do |pattern|
if pattern.is_a?(String) if directory?(pattern) && dir_pattern
if directory?(pattern) && dir_pattern pattern += '/' unless pattern.end_with?('/')
pattern += '/' unless pattern.end_with?('/') pattern += dir_pattern
pattern += dir_pattern end
end expanded_patterns = dir_glob_equivalent_patterns(pattern)
expanded_patterns = dir_glob_equivalent_patterns(pattern) full_list.select do |path|
full_list.select do |path| expanded_patterns.any? do |p|
expanded_patterns.any? do |p| File.fnmatch(p, path, File::FNM_CASEFOLD | File::FNM_PATHNAME)
File.fnmatch(p, path, File::FNM_CASEFOLD | File::FNM_PATHNAME)
end
end end
else
full_list.select { |path| path.match(pattern) }
end end
end.flatten end.flatten
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment