Class: Net::FTP::MLSxEntry

Inherits:
Object
  • Object
show all
Defined in:
lib/net/ftp.rb

Overview

MLSxEntry represents an entry in responses of MLST/MLSD. Each entry has the facts (e.g., size, last modification time, etc.) and the pathname.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(facts, pathname) ⇒ MLSxEntry

Returns a new instance of MLSxEntry.



974
975
976
977
# File 'lib/net/ftp.rb', line 974

def initialize(facts, pathname)
  @facts = facts
  @pathname = pathname
end

Instance Attribute Details

#factsObject (readonly)

Returns the value of attribute facts.



972
973
974
# File 'lib/net/ftp.rb', line 972

def facts
  @facts
end

#pathnameObject (readonly)

Returns the value of attribute pathname.



972
973
974
# File 'lib/net/ftp.rb', line 972

def pathname
  @pathname
end

Instance Method Details

#appendable?Boolean

Returns true if the APPE command may be applied to the file.

Returns:

  • (Boolean)


1010
1011
1012
# File 'lib/net/ftp.rb', line 1010

def appendable?
  return facts["perm"].include?(?a)
end

#creatable?Boolean

Returns true if files may be created in the directory by STOU, STOR, APPE, and RNTO.

Returns:

  • (Boolean)


1018
1019
1020
# File 'lib/net/ftp.rb', line 1018

def creatable?
  return facts["perm"].include?(?c)
end

#deletable?Boolean

Returns true if the file or directory may be deleted by DELE/RMD.

Returns:

  • (Boolean)


1025
1026
1027
# File 'lib/net/ftp.rb', line 1025

def deletable?
  return facts["perm"].include?(?d)
end

#directory?Boolean

Returns true if the entry is a directory (i.e., the value of the type fact is dir, cdir, or pdir).

Returns:

  • (Boolean)


999
1000
1001
1002
1003
1004
1005
# File 'lib/net/ftp.rb', line 999

def directory?
  if /\A[cp]?dir\z/.match(facts["type"])
    return true
  else
    return false
  end
end

#directory_makable?Boolean

Returns true if the MKD command may be used to create a new directory within the directory.

Returns:

  • (Boolean)


1055
1056
1057
# File 'lib/net/ftp.rb', line 1055

def directory_makable?
  return facts["perm"].include?(?m)
end

#enterable?Boolean

Returns true if the directory may be entered by CWD/CDUP.

Returns:

  • (Boolean)


1032
1033
1034
# File 'lib/net/ftp.rb', line 1032

def enterable?
  return facts["perm"].include?(?e)
end

#file?Boolean

Returns true if the entry is a file (i.e., the value of the type fact is file).

Returns:

  • (Boolean)


991
992
993
# File 'lib/net/ftp.rb', line 991

def file?
  return facts["type"] == "file"
end

#listable?Boolean

Returns true if the listing commands, LIST, NLST, and MLSD are applied to the directory.

Returns:

  • (Boolean)


1047
1048
1049
# File 'lib/net/ftp.rb', line 1047

def listable?
  return facts["perm"].include?(?l)
end

#purgeable?Boolean

Returns true if the objects in the directory may be deleted, or the directory may be purged.

Returns:

  • (Boolean)


1063
1064
1065
# File 'lib/net/ftp.rb', line 1063

def purgeable?
  return facts["perm"].include?(?p)
end

#readable?Boolean

Returns true if the RETR command may be applied to the file.

Returns:

  • (Boolean)


1070
1071
1072
# File 'lib/net/ftp.rb', line 1070

def readable?
  return facts["perm"].include?(?r)
end

#renamable?Boolean

Returns true if the file or directory may be renamed by RNFR.

Returns:

  • (Boolean)


1039
1040
1041
# File 'lib/net/ftp.rb', line 1039

def renamable?
  return facts["perm"].include?(?f)
end

#writable?Boolean

Returns true if the STOR command may be applied to the file.

Returns:

  • (Boolean)


1077
1078
1079
# File 'lib/net/ftp.rb', line 1077

def writable?
  return facts["perm"].include?(?w)
end