Sha256: 10c50b35636caa033cd079b89717d01549370c41724ef13ec7317f35511dd9d7
Contents?: true
Size: 1.04 KB
Versions: 9
Compression:
Stored size: 1.04 KB
Contents
require 'memfs/filesystem_access' module MemFs module Fake class Symlink < Entry include MemFs::FilesystemAccess attr_reader :target def dereferenced @dereferenced ||= fs.find!(target).dereferenced end def dereferenced_name real_target.dereferenced_name end def dereferenced_path dereferenced.dereferenced_path end def find(path) dereferenced.find(path) rescue Errno::ENOENT nil end def initialize(path, target) super(path) @target = target end def method_missing(meth, *args, &block) if dereferenced.respond_to?(meth) dereferenced.public_send(meth, *args, &block) else super end end def respond_to_missing?(meth, include_private) dereferenced.respond_to?(meth, include_private) || super end def type 'link' end private def real_target fs.find(target) || Entry.new(target) end end end end
Version data entries
9 entries across 9 versions & 1 rubygems