class FakeFS::FakeInode

Inode class

Attributes

freed_inodes[RW]
next_inode_num[RW]
content[RW]
inode_num[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