class Net::SFTP::Protocol::V06::Attributes

  1. lib/net/sftp/protocol/06/attributes.rb
Parent: V06

A class representing the attributes of a file or directory on the server. It may be used to specify new attributes, or to query existing attributes. This particular class is specific to versions 6 and higher of the SFTP protocol.

To specify new attributes, just pass a hash as the argument to the constructor. The following keys are supported:

  • :type

    the type of the item (integer, one of the T_ constants)

  • :size

    the size of the item (integer)

  • :#allocation_size

    the actual number of bytes that the item uses on disk (integer)

  • :uid

    the user-id that owns the file (integer)

  • :gid

    the group-id that owns the file (integer)

  • :owner

    the name of the user that owns the file (string)

  • :group

    the name of the group that owns the file (string)

  • :permissions

    the permissions on the file (integer, e.g. 0755)

  • :atime

    the access time of the file (integer, seconds since epoch)

  • :atime_nseconds

    the nanosecond component of atime (integer)

  • :createtime

    the time at which the file was created (integer, seconds since epoch)

  • :createtime_nseconds

    the nanosecond component of createtime (integer)

  • :mtime

    the modification time of the file (integer, seconds since epoch)

  • :mtime_nseconds

    the nanosecond component of mtime (integer)

  • :ctime

    the time that the file's attributes were last changed (integer)

  • :#ctime_nseconds

    the nanosecond component of ctime (integer)

  • :acl

    an array of ACL entries for the item

  • :#attrib_bits

    other attributes of the file or directory (as a bit field) (integer)

  • :#attrib_bits_valid

    a mask describing which bits in #attrib_bits are valid (integer)

  • :#text_hint

    whether the file may or may not contain textual data (integer)

  • :#mime_type

    the mime type of the file (string)

  • :#link_count

    the hard link count of the file (integer)

  • :#untranslated_name

    the value of the filename before filename translation was attempted (string)

  • :extended

    a hash of name/value pairs identifying extended info

Likewise, when the server sends an Attributes object, all of the above attributes are exposed as methods (though not all will be set with non-nil values from the server).

Constants

F_ALLOCATION_SIZE = 0x00000400  
F_BITS = 0x00000200  
F_CTIME = 0x00008000  
F_LINK_COUNT = 0x00002000  
F_MIME_TYPE = 0x00001000  
F_TEXT_HINT = 0x00000800  
F_UNTRANSLATED_NAME = 0x00004000  

Attributes

allocation_size [RW]

The size on-disk of the file

attrib_bits [RW]

Other attributes of this file or directory (as a bit field)

attrib_bits_valid [RW]

A bit mask describing which bits in attrib_bits are valid

ctime [RW]

The time at which the file's attributes were last changed

ctime_nseconds [RW]

The nanosecond component of ctime

link_count [RW]

The hard link count for the file

mime_type [RW]

The mime-type of the file

text_hint [RW]

Describes whether the file may or may not contain textual data

untranslated_name [RW]

The value of the file name before filename translation was attempted