class MemFs::Fake::Symlink

Attributes

target[R]

Public Class Methods

new(path, target) click to toggle source
Calls superclass method MemFs::Fake::Entry.new
# File lib/memfs/fake/symlink.rb, line 28
def initialize(path, target)
  super(path)
  @target = target
end

Public Instance Methods

dereferenced() click to toggle source
# File lib/memfs/fake/symlink.rb, line 10
def dereferenced
  @dereferenced ||= fs.find!(target).dereferenced
end
dereferenced_name() click to toggle source
# File lib/memfs/fake/symlink.rb, line 14
def dereferenced_name
  real_target.dereferenced_name
end
dereferenced_path() click to toggle source
# File lib/memfs/fake/symlink.rb, line 18
def dereferenced_path
  dereferenced.dereferenced_path
end
find(path) click to toggle source
# File lib/memfs/fake/symlink.rb, line 22
def find(path)
  dereferenced.find(path)
rescue Errno::ENOENT
  nil
end
method_missing(meth, *args, &block) click to toggle source
Calls superclass method
# File lib/memfs/fake/symlink.rb, line 33
def method_missing(meth, *args, &block)
  if dereferenced.respond_to?(meth)
    dereferenced.public_send(meth, *args, &block)
  else
    super
  end
end
respond_to_missing?(meth, include_private) click to toggle source
Calls superclass method
# File lib/memfs/fake/symlink.rb, line 41
def respond_to_missing?(meth, include_private)
  dereferenced.respond_to?(meth, include_private) || super
end
type() click to toggle source
# File lib/memfs/fake/symlink.rb, line 45
def type
  'link'
end

Private Instance Methods

real_target() click to toggle source
# File lib/memfs/fake/symlink.rb, line 51
def real_target
  fs.find(target) || Entry.new(target)
end