Parent

Files

Class/Module Index [+]

Quicksearch

Chef::ReservedNames::Win32::File::Info

Objects of class Chef::ReservedNames::Win32::File::Stat encapsulate common status information for Chef::ReservedNames::Win32::File objects. The information is recorded at the moment the Chef::ReservedNames::Win32::File::Stat object is created; changes made to the file after that point will not be reflected.

Public Class Methods

new(file_name) click to toggle source

msdn.microsoft.com/en-us/library/windows/desktop/aa363788(v=vs.85).aspx

# File lib/chef/win32/file/info.rb, line 35
def initialize(file_name)
  raise Errno::ENOENT, file_name unless ::File.exist?(file_name)
  @file_info = retrieve_file_info(file_name)
end

Public Instance Methods

atime() click to toggle source

::File::Stat compat

Alias for: last_access_time
creation_time() click to toggle source
# File lib/chef/win32/file/info.rb, line 52
def creation_time
  parse_time(@file_info[:ft_creation_time])
end
Also aliased as: ctime
ctime() click to toggle source
Alias for: creation_time
index() click to toggle source
# File lib/chef/win32/file/info.rb, line 44
def index
  make_uint64(@file_info[:n_file_index_low], @file_info[:n_file_index_high])
end
ino() click to toggle source

we’re faking it here, but this is in the spirit of ino in *nix

from MSDN:

“The identifier (low and high parts) and the volume serial number uniquely identify a file on a single computer. To determine whether two open handles represent the same file, combine the identifier and the volume serial number for each file and compare them.”“

# File lib/chef/win32/file/info.rb, line 83
def ino
  volume_serial_number + index
end
last_access_time() click to toggle source
# File lib/chef/win32/file/info.rb, line 48
def last_access_time
  parse_time(@file_info[:ft_last_access_time])
end
Also aliased as: atime
last_write_time() click to toggle source
# File lib/chef/win32/file/info.rb, line 56
def last_write_time
  parse_time(@file_info[:ft_last_write_time])
end
Also aliased as: mtime
mtime() click to toggle source
Alias for: last_write_time
parse_time(file_time_struct) click to toggle source

given a +Chef::ReservedNames::Win32::API::File::FILETIME+ structure convert into a Ruby Time object.

# File lib/chef/win32/file/info.rb, line 91
def parse_time(file_time_struct)
  wtime_to_time(make_uint64(file_time_struct[:dw_low_date_time],
    file_time_struct[:dw_high_date_time]))
end
size() click to toggle source
# File lib/chef/win32/file/info.rb, line 64
def size
  make_uint64(@file_info[:n_file_size_low], @file_info[:n_file_size_high])
end
volume_serial_number() click to toggle source
# File lib/chef/win32/file/info.rb, line 40
def volume_serial_number
  @file_info[:dw_volume_serial_number]
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.