class FakeFS::FakeDir
Fake Dir class
Attributes
atime[RW]
content[R]
ctime[R]
gid[RW]
mode[RW]
mtime[RW]
name[RW]
parent[RW]
uid[RW]
Public Class Methods
new(name = nil, parent = nil)
click to toggle source
# File lib/fakefs/fake/dir.rb, line 7 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
Public Instance Methods
[](name)
click to toggle source
# File lib/fakefs/fake/dir.rb, line 60 def [](name) @entries[name] end
[]=(name, value)
click to toggle source
# File lib/fakefs/fake/dir.rb, line 64 def []=(name, value) @entries[name] = value end
clone(parent = nil)
click to toggle source
# File lib/fakefs/fake/dir.rb, line 29 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
delete(node = self)
click to toggle source
# File lib/fakefs/fake/dir.rb, line 68 def delete(node = self) if node == self parent.delete(self) else @entries.delete(node.name) end end
empty?()
click to toggle source
# File lib/fakefs/fake/dir.rb, line 48 def empty? @entries.empty? end
entries()
click to toggle source
# File lib/fakefs/fake/dir.rb, line 52 def entries @entries.values end
entry()
click to toggle source
# File lib/fakefs/fake/dir.rb, line 20 def entry self end
inspect()
click to toggle source
# File lib/fakefs/fake/dir.rb, line 24 def inspect "(FakeDir name:#{name.inspect} " \ "parent:#{parent.to_s.inspect} size:#{@entries.size})" end
matches(pattern)
click to toggle source
# File lib/fakefs/fake/dir.rb, line 56 def matches(pattern) @entries.reject { |k, _v| pattern !~ k }.values end
to_s()
click to toggle source
# File lib/fakefs/fake/dir.rb, line 38 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