class Packwerk::FilesForProcessing
Public Class Methods
fetch(paths:, configuration:)
click to toggle source
# File lib/packwerk/files_for_processing.rb, line 7 def fetch(paths:, configuration:) new(paths, configuration).files end
new(paths, configuration)
click to toggle source
# File lib/packwerk/files_for_processing.rb, line 12 def initialize(paths, configuration) @paths = paths @configuration = configuration end
Public Instance Methods
files()
click to toggle source
# File lib/packwerk/files_for_processing.rb, line 17 def files include_files = if custom_files.empty? configured_included_files else custom_files end include_files - configured_excluded_files end
Private Instance Methods
configured_excluded_files()
click to toggle source
# File lib/packwerk/files_for_processing.rb, line 57 def configured_excluded_files files_for_globs(@configuration.exclude) end
configured_included_files()
click to toggle source
# File lib/packwerk/files_for_processing.rb, line 53 def configured_included_files files_for_globs(@configuration.include) end
custom_files()
click to toggle source
# File lib/packwerk/files_for_processing.rb, line 29 def custom_files @custom_files ||= @paths.flat_map do |path| path = File.expand_path(path, @configuration.root_path) if File.file?(path) path else custom_included_files(path) end end end
custom_included_files(path)
click to toggle source
# File lib/packwerk/files_for_processing.rb, line 40 def custom_included_files(path) # Note, assuming include globs are always relative paths absolute_includes = @configuration.include.map do |glob| File.expand_path(glob, @configuration.root_path) end Dir.glob([File.join(path, "**", "*")]).select do |file_path| absolute_includes.any? do |pattern| File.fnmatch?(pattern, file_path, File::FNM_EXTGLOB) end end end
files_for_globs(globs)
click to toggle source
# File lib/packwerk/files_for_processing.rb, line 61 def files_for_globs(globs) globs .flat_map { |glob| Dir[File.expand_path(glob, @configuration.root_path)] } .uniq end