Class Ole::Storage::FileClass::Stat
In: lib/ole/storage/file_system.rb
Parent: Object
String Data Lpstr Clsid Lpwstr Section Enumerable DateTime FileTime Constants Variant::Constants Storage\n[lib/ole/storage/base.rb\nlib/ole/storage/file_system.rb\nlib/ole/storage/meta_data.rb] PropertySet lib/ole/storage/file_system.rb lib/ole/types/property_set.rb lib/ole/types/base.rb Constants Constants Variant Types Ole dot/m_9_0.png

Methods

directory?   file?   inspect   new   size?  

External Aliases

rdev -> rdev_major
rdev -> rdev_minor

Attributes

blksize  [R] 
blocks  [R] 
dev  [R] 
ftype  [R] 
gid  [R] 
ino  [R] 
nlink  [R] 
rdev  [R] 
size  [R] 
uid  [R] 

Public Class methods

[Source]

    # File lib/ole/storage/file_system.rb, line 61
61:                                 def initialize dirent
62:                                         @dirent = dirent
63:                                         @size = dirent.size
64:                                         if file?
65:                                                 @ftype = 'file'
66:                                                 bat = dirent.ole.bat_for_size(dirent.size)
67:                                                 @blocks = bat.chain(dirent.first_block).length
68:                                                 @blksize = bat.block_size
69:                                         else
70:                                                 @ftype = 'directory'
71:                                                 @blocks = 0
72:                                                 @blksize = 0
73:                                         end
74:                                         # a lot of these are bogus. ole file format has no analogs
75:                                         @nlink = 1
76:                                         @uid, @gid = 0, 0
77:                                         @dev, @rdev = 0, 0
78:                                         @ino = 0
79:                                         # need to add times - atime, mtime, ctime. 
80:                                 end

Public Instance methods

[Source]

    # File lib/ole/storage/file_system.rb, line 89
89:                                 def directory?
90:                                         @dirent.dir?
91:                                 end

[Source]

    # File lib/ole/storage/file_system.rb, line 85
85:                                 def file?
86:                                         @dirent.file?
87:                                 end

[Source]

     # File lib/ole/storage/file_system.rb, line 97
 97:                                 def inspect
 98:                                         pairs = (instance_variables - ['@dirent']).map do |n|
 99:                                                 "#{n[1..-1]}=#{instance_variable_get n}"
100:                                         end
101:                                         "#<#{self.class} #{pairs * ', '}>"
102:                                 end

[Source]

    # File lib/ole/storage/file_system.rb, line 93
93:                                 def size?
94:                                         size if file?
95:                                 end

[Validate]