class Net::SFTP::Protocol::V04::Attributes

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:

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

ACL

A simple struct for representing a single entry in an Access Control List. (See Net::SFTP::Constants::ACE)

F_ACCESSTIME
F_ACL
F_CREATETIME
F_MODIFYTIME
F_OWNERGROUP
F_SUBSECOND_TIMES

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

new(attributes={}) click to toggle source

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