Sha256: 234dc69a07083ca1ab5ae3bef8efd55dbb9f217c5060bc1a62df730af39242b5
Contents?: true
Size: 768 Bytes
Versions: 155
Compression:
Stored size: 768 Bytes
Contents
module CC class Workspace autoload :Exclusion, "cc/workspace/exclusion" autoload :PathTree, "cc/workspace/path_tree" def initialize(path_tree = PathTree.for_path(".")) @path_tree = path_tree end def clone self.class.new(path_tree.clone) end def paths path_tree.all_paths end def add(paths) if paths.present? path_tree.include_paths(paths) end end def remove(patterns) Array(patterns).each do |pattern| exclusion = Exclusion.new(pattern) if exclusion.negated? path_tree.include_paths(exclusion.expand) else path_tree.exclude_paths(exclusion.expand) end end end private attr_reader :path_tree end end
Version data entries
155 entries across 155 versions & 2 rubygems