class Rake::FtpFile

Note: Not released for general use.

Attributes

group[R]
name[R]
owner[R]
size[R]
time[R]

Public Class Methods

date() click to toggle source
# File lib/rake/contrib/ftptools.rb, line 17
def self.date
 @date_class ||= Date
end
new(path, entry) click to toggle source
# File lib/rake/contrib/ftptools.rb, line 25
def initialize(path, entry)
 @path = path
 @mode, _, @owner, @group, size, d1, d2, d3, @name = entry.split(' ')
 @size = size.to_i
 @time = determine_time(d1, d2, d3)
end
time() click to toggle source
# File lib/rake/contrib/ftptools.rb, line 21
def self.time
 @time_class ||= Time
end

Public Instance Methods

directory?() click to toggle source
# File lib/rake/contrib/ftptools.rb, line 36
def directory?
 @mode[0] == ?d
end
mode() click to toggle source
# File lib/rake/contrib/ftptools.rb, line 40
def mode
 parse_mode(@mode)
end
path() click to toggle source
# File lib/rake/contrib/ftptools.rb, line 32
def path
 File.join(@path, @name)
end

Private Instance Methods

determine_time(d1, d2, d3) click to toggle source
# File lib/rake/contrib/ftptools.rb, line 58
def determine_time(d1, d2, d3)
 now = self.class.time.now
 if /:/ !~ d3
 result = Time.parse("#{d1} #{d2} #{d3}")
 else
 result = Time.parse("#{d1} #{d2} #{now.year} #{d3}")
 result = Time.parse("#{d1} #{d2} #{now.year - 1} #{d3}") if
 result > now
 end
 result
end
parse_mode(m) click to toggle source
# File lib/rake/contrib/ftptools.rb, line 50
def parse_mode(m)
 result = 0
 (1..9).each do |i|
 result = 2 * result + ((m[i] == ?-) ? 0 : 1)
 end
 result
end