Class: Ext3::Directory
- Inherits:
-
Object
- Object
- Ext3::Directory
- Defined in:
- lib/fs/ext3/directory.rb
Constant Summary collapse
- ROOT_DIRECTORY =
2
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.
8 9 10 11 12 13 14 |
# File 'lib/fs/ext3/directory.rb', line 8 def initialize(sb, inodeNum = ROOT_DIRECTORY) raise "Ext3::Directory.initialize: Nil superblock" if sb.nil? raise "Ext3::Directory.initialize: Nil inode number" if inodeNum.nil? @sb = sb; @inodeNum = inodeNum @inodeObj = sb.getInode(inodeNum) @data = FileData.new(@inodeObj, @sb).read end |
Instance Method Details
#findEntry(name, type = nil) ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/fs/ext3/directory.rb', line 20 def findEntry(name, type = nil) return nil unless globEntries.key?(name) newEnt = @sb.isNewDirEnt? globEntries[name].each do |ent| ent.fileType = @sb.getInode(ent.inode).fileModeToFileType unless newEnt return ent if ent.fileType == type || type.nil? end nil end |
#globNames ⇒ Object
16 17 18 |
# File 'lib/fs/ext3/directory.rb', line 16 def globNames @ent_names ||= globEntries.keys.compact.sort end |