Class: Ext4::Directory
- Inherits:
-
Object
- Object
- Ext4::Directory
- Defined in:
- lib/fs/ext4/directory.rb
Constant Summary collapse
- ROOT_DIRECTORY =
2
Instance Attribute Summary collapse
-
#inodeNum ⇒ Object
readonly
Returns the value of attribute inodeNum.
Instance Method Summary collapse
- #findEntry(name, type = nil) ⇒ Object
- #globNames ⇒ Object
-
#initialize(sb, inodeNum = ROOT_DIRECTORY) ⇒ Directory
constructor
A new instance of Directory.
Constructor Details
#initialize(sb, inodeNum = ROOT_DIRECTORY) ⇒ Directory
Returns a new instance of Directory.
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/fs/ext4/directory.rb', line 11 def initialize(sb, inodeNum = ROOT_DIRECTORY) log_prefix = "Ext4::Directory.initialize" raise "#{log_prefix}: Nil superblock" if sb.nil? raise "#{log_prefix}: Nil inode number" if inodeNum.nil? @sb = sb @inodeNum = inodeNum @inodeObj = sb.getInode(inodeNum) raise "#{log_prefix}: INODE=#{inodeNum} is NOT a DIRECTORY" unless @inodeObj.isDir? @data = @inodeObj.read end |
Instance Attribute Details
#inodeNum ⇒ Object (readonly)
Returns the value of attribute inodeNum.
9 10 11 |
# File 'lib/fs/ext4/directory.rb', line 9 def inodeNum @inodeNum end |
Instance Method Details
#findEntry(name, type = nil) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/fs/ext4/directory.rb', line 26 def findEntry(name, type = nil) return nil unless globEntries.key?(name) globEntries[name].each do |ent| unless @sb.isNewDirEnt? inode = @sb.getInode(ent.inode) ent.fileType = inode.fileModeToFileType end return ent if (ent.fileType == type) || type.nil? end nil end |
#globNames ⇒ Object
22 23 24 |
# File 'lib/fs/ext4/directory.rb', line 22 def globNames @ent_names ||= globEntries.keys.compact.sort end |