Sha256: 2b1f389b59bc5d0152465257bcba4616239dec2f18497a9f8c97c95da5c4387e
Contents?: true
Size: 1.88 KB
Versions: 12
Compression:
Stored size: 1.88 KB
Contents
# frozen_string_literal: true class Puppet::FileSystem::MemoryImpl def initialize(*files) @files = files + all_children_of(files) end def expand_path(path, dir_string = nil) File.expand_path(path, dir_string) end def exist?(path) path.exist? end def directory?(path) path.directory? end def file?(path) path.file? end def executable?(path) path.executable? end def symlink?(path) path.symlink? end def readlink(path) path = path.path link = find(path) return Puppet::FileSystem::MemoryFile.a_missing_file(path) unless link source = link.source_path return Puppet::FileSystem::MemoryFile.a_missing_file(link) unless source find(source) || Puppet::FileSystem::MemoryFile.a_missing_file(source) end def children(path) path.children end def each_line(path, &block) path.each_line(&block) end def pathname(path) find(path) || Puppet::FileSystem::MemoryFile.a_missing_file(path) end def basename(path) path.duplicate_as(File.basename(path_string(path))) end def path_string(object) object.path end def read(path, opts = {}) handle = assert_path(path).handle handle.read end def read_preserve_line_endings(path) read(path) end def open(path, *args, &block) handle = assert_path(path).handle if block_given? yield handle else return handle end end def assert_path(path) if path.is_a?(Puppet::FileSystem::MemoryFile) path else find(path) or raise ArgumentError, _("Unable to find registered object for %{path}") % { path: path.inspect } end end private def find(path) @files.find { |file| file.path == path } end def all_children_of(files) children = files.collect(&:children).flatten if children.empty? [] else children + all_children_of(children) end end end
Version data entries
12 entries across 12 versions & 1 rubygems