class FakeFS::FakeFile

Fake file class

Attributes

atime[RW]
birthtime[R]
ctime[R]
gid[RW]
inode[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/file.rb, line 36
def initialize(name = nil, parent = nil)
  @name      = name
  @parent    = parent
  @inode     = Inode.new(self)
  @ctime     = Time.now
  @mtime     = @ctime
  @atime     = @ctime
  @birthtime = @ctime
  @mode      = 0100000 + (0666 - File.umask)
  @uid       = Process.uid
  @gid       = Process.gid
end

Public Instance Methods

clone(parent = nil) click to toggle source
Calls superclass method
# File lib/fakefs/fake/file.rb, line 67
def clone(parent = nil)
  clone = super()
  clone.parent = parent if parent
  clone.inode  = inode.clone
  clone
end
content() click to toggle source
# File lib/fakefs/fake/file.rb, line 51
def content
  @inode.content
end
content=(str) click to toggle source
# File lib/fakefs/fake/file.rb, line 55
def content=(str)
  @inode.content = str
end
delete() click to toggle source
# File lib/fakefs/fake/file.rb, line 87
def delete
  inode.unlink(self)
  parent.delete(self)
end
entry() click to toggle source
# File lib/fakefs/fake/file.rb, line 74
def entry
  self
end
inspect() click to toggle source
# File lib/fakefs/fake/file.rb, line 78
def inspect
  "(FakeFile name:#{name.inspect} " \
  "parent:#{parent.to_s.inspect} size:#{content.size})"
end
to_s() click to toggle source
# File lib/fakefs/fake/file.rb, line 83
def to_s
  File.join(parent.to_s, name)
end