Sha256: a33e84e6e0032f8d868a76f9f24ae63d7f8c0590bb35d06343b68141d1ff0f45
Contents?: true
Size: 869 Bytes
Versions: 14
Compression:
Stored size: 869 Bytes
Contents
module FakeFS class FakeDir < Hash attr_accessor :name, :parent def initialize(name = nil, parent = nil) @name = name @parent = parent end def entry self end def inspect "(FakeDir name:#{name.inspect} parent:#{parent.to_s.inspect} size:#{size})" end def clone(parent = nil) clone = Marshal.load(Marshal.dump(self)) clone.each do |key, value| value.parent = clone end clone.parent = parent if parent clone end def to_s if parent && parent.to_s != '.' File.join(parent.to_s, name) elsif parent && parent.to_s == '.' "#{File::PATH_SEPARATOR}#{name}" else name end end def delete(node = self) if node == self parent.delete(self) else super(node.name) end end end end
Version data entries
14 entries across 14 versions & 4 rubygems