class FakeFS::FakeInode
Inode class
Attributes
freed_inodes[RW]
next_inode_num[RW]
content[RW]
inode_num[RW]
links[RW]
Public Class Methods
clear_inode_info_for_tests()
click to toggle source
This method should only be used for tests When called, it will reset the current inode information of the FakeFS
# File lib/fakefs/fake/inode.rb, line 24 def clear_inode_info_for_tests self.freed_inodes = [] self.next_inode_num = 0 end
new(file_owner)
click to toggle source
# File lib/fakefs/fake/inode.rb, line 7 def initialize(file_owner) @content = ''.encode(Encoding.default_external) @links = [file_owner] assign_inode_num end
Public Instance Methods
assign_inode_num()
click to toggle source
# File lib/fakefs/fake/inode.rb, line 30 def assign_inode_num if (@inode_num = self.class.freed_inodes.shift) else @inode_num = self.class.next_inode_num self.class.next_inode_num += 1 end end
clone()
click to toggle source
Calls superclass method
# File lib/fakefs/fake/inode.rb, line 51 def clone clone = super clone.content = content.dup clone.assign_inode_num clone end
free_inode_num()
click to toggle source
# File lib/fakefs/fake/inode.rb, line 38 def free_inode_num self.class.freed_inodes.push(@inode_num) end
link(file)
click to toggle source
# File lib/fakefs/fake/inode.rb, line 42 def link(file) links << file unless links.include?(file) file.inode = self end
unlink(file)
click to toggle source
# File lib/fakefs/fake/inode.rb, line 47 def unlink(file) links.delete(file) end