Sha256: ff61946ef9b24b37e4e9ce5a39512e5e4a7e40aaf7d6973a4830c852eb4871d4
Contents?: true
Size: 1.09 KB
Versions: 1
Compression:
Stored size: 1.09 KB
Contents
# frozen_string_literal: true # Released under the MIT License. # Copyright, 2014-2023, by Samuel Williams. require_relative 'list' module Build module Files class Directory < List def self.join(*args) self.new(Path.join(*args)) end def initialize(root) @root = root end def root @root end def roots [root] end def each return to_enum(:each) unless block_given? # We match both normal files with * and dotfiles with .?* Dir.glob(@root + "**/{*,.?*}") do |path| yield Path.new(path, @root) end end def eql?(other) self.class.eql?(other.class) and @root.eql?(other.root) end def hash @root.hash end def include?(path) # Would be true if path is a descendant of full_path. path.start_with?(@root) end def rebase(root) self.class.new(@root.rebase(root)) end # Convert a Directory into a String, can be used as an argument to a command. def to_str @root.to_str end def to_s to_str end def to_path @root end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
build-files-1.9.0 | lib/build/files/directory.rb |