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 4 and 5 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)
- :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)
- :acl
-
an array of ACL entries for the item
- :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).
Methods
Public Class
Public Instance
Constants
ACL | = | Struct.new(:type, :flag, :mask, :who) |
A simple struct for representing a single entry in an Access Control List. (See Net::SFTP::Constants::ACE) |
|
F_ACCESSTIME | = | 0x00000008 | ||
F_ACL | = | 0x00000040 | ||
F_CREATETIME | = | 0x00000010 | ||
F_MODIFYTIME | = | 0x00000020 | ||
F_OWNERGROUP | = | 0x00000080 | ||
F_SUBSECOND_TIMES | = | 0x00000100 |
Attributes
acl | [RW] |
The array of access control entries for this item. |
atime_nseconds | [RW] |
The nanosecond component of the access time. |
createtime | [RW] |
The creation time of the remote item, in seconds since the epoch. |
createtime_nseconds | [RW] |
The nanosecond component of the creation time. |
group | [W] |
The group of the item on the remote server, as a string. |
mtime_nseconds | [RW] |
The nanosecond component of the modification time. |
owner | [W] |
The owner of the item on the remote server, as a string. |
type | [RW] |
The type of the item on the remote server. Must be one of the T_* constants. |
Public Class methods
Create a new Attributes instance with the given attributes. The following keys are supported:
- :type
-
the type of the item (integer, one of the T_ constants)
- :size
-
the size of the item (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)
- :acl
-
an array of ACL entries for the item
- :extended
-
a hash of name/value pairs identifying extended info
All of them default to nil
if omitted, except for
type
, which defaults to T_REGULAR.
# File lib/net/sftp/protocol/04/attributes.rb, line 124 def initialize(attributes={}) super attributes[:type] ||= T_REGULAR end