# File lib/fakefs/fake/dir.rb, line 6 def initialize(name = nil, parent = nil) @name = name @parent = parent @ctime = Time.now @mtime = @ctime @atime = @ctime @mode = 0100000 + (0777 - File.umask) @uid = Process.uid @gid = Process.gid @content = "" @entries = {} end
# File lib/fakefs/fake/dir.rb, line 58 def [](name) @entries[name] end
# File lib/fakefs/fake/dir.rb, line 62 def []=(name, value) @entries[name] = value end
# File lib/fakefs/fake/dir.rb, line 27 def clone(parent = nil) clone = Marshal.load(Marshal.dump(self)) clone.entries.each do |value| value.parent = clone end clone.parent = parent if parent clone end
# File lib/fakefs/fake/dir.rb, line 66 def delete(node = self) if node == self parent.delete(self) else @entries.delete(node.name) end end
# File lib/fakefs/fake/dir.rb, line 46 def empty? @entries.empty? end
# File lib/fakefs/fake/dir.rb, line 50 def entries @entries.values end
# File lib/fakefs/fake/dir.rb, line 19 def entry self end
# File lib/fakefs/fake/dir.rb, line 23 def inspect "(FakeDir name:#{name.inspect} parent:#{parent.to_s.inspect} size:#{@entries.size})" end
# File lib/fakefs/fake/dir.rb, line 54 def matches(pattern) @entries.reject {|k,v| pattern !~ k }.values end
# File lib/fakefs/fake/dir.rb, line 36 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