Class: FakeFS::FakeFile

Inherits:
Object
  • Object
show all
Defined in:
lib/fakefs/fake/file.rb

Overview

Fake file class

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = nil, parent = nil) ⇒ FakeFile

Returns a new instance of FakeFile.



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/fakefs/fake/file.rb', line 8

def initialize(name = nil, parent = nil)
  @name      = name
  @parent    = parent
  @inode     = FakeInode.new(self)
  @ctime     = Time.now
  @mtime     = @ctime
  @atime     = @ctime
  @birthtime = @ctime
  @mode      = 0o100000 + (0o666 - File.umask)
  @uid       = Process.uid
  @gid       = Process.gid
end

Instance Attribute Details

#atimeObject

Returns the value of attribute atime.



6
7
8
# File 'lib/fakefs/fake/file.rb', line 6

def atime
  @atime
end

#birthtimeObject

Returns the value of attribute birthtime.



6
7
8
# File 'lib/fakefs/fake/file.rb', line 6

def birthtime
  @birthtime
end

#ctimeObject

Returns the value of attribute ctime.



6
7
8
# File 'lib/fakefs/fake/file.rb', line 6

def ctime
  @ctime
end

#gidObject

Returns the value of attribute gid.



6
7
8
# File 'lib/fakefs/fake/file.rb', line 6

def gid
  @gid
end

#inodeObject

Returns the value of attribute inode.



6
7
8
# File 'lib/fakefs/fake/file.rb', line 6

def inode
  @inode
end

#modeObject

Returns the value of attribute mode.



6
7
8
# File 'lib/fakefs/fake/file.rb', line 6

def mode
  @mode
end

#mtimeObject

Returns the value of attribute mtime.



6
7
8
# File 'lib/fakefs/fake/file.rb', line 6

def mtime
  @mtime
end

#nameObject

Returns the value of attribute name.



6
7
8
# File 'lib/fakefs/fake/file.rb', line 6

def name
  @name
end

#parentObject

Returns the value of attribute parent.



6
7
8
# File 'lib/fakefs/fake/file.rb', line 6

def parent
  @parent
end

#uidObject

Returns the value of attribute uid.



6
7
8
# File 'lib/fakefs/fake/file.rb', line 6

def uid
  @uid
end

Instance Method Details

#clone(parent = nil) ⇒ Object



37
38
39
40
41
42
# File 'lib/fakefs/fake/file.rb', line 37

def clone(parent = nil)
  clone = super()
  clone.parent = parent if parent
  clone.inode  = inode.clone
  clone
end

#contentObject



21
22
23
# File 'lib/fakefs/fake/file.rb', line 21

def content
  @inode.content
end

#content=(str) ⇒ Object



25
26
27
# File 'lib/fakefs/fake/file.rb', line 25

def content=(str)
  @inode.content = str
end

#deleteObject



57
58
59
60
61
# File 'lib/fakefs/fake/file.rb', line 57

def delete
  inode.unlink(self)
  inode.free_inode_num
  parent.delete(self)
end

#entryObject



44
45
46
# File 'lib/fakefs/fake/file.rb', line 44

def entry
  self
end

#inspectObject



48
49
50
51
# File 'lib/fakefs/fake/file.rb', line 48

def inspect
  "(FakeFile name:#{name.inspect} " \
  "parent:#{parent.to_s.inspect} size:#{content.size})"
end


33
34
35
# File 'lib/fakefs/fake/file.rb', line 33

def link(other_file)
  @inode.link(other_file)
end


29
30
31
# File 'lib/fakefs/fake/file.rb', line 29

def links
  @inode.links
end

#to_sObject



53
54
55
# File 'lib/fakefs/fake/file.rb', line 53

def to_s
  File.join(parent.to_s, name)
end