Class: Net::FTP::List::Netware
- Inherits:
-
Parser
- Object
- Parser
- Net::FTP::List::Netware
- Defined in:
- lib/net/ftp/list/netware.rb
Overview
Parse Netware like FTP LIST entries.
MATCHES
d [RWCEAFMS] dpearce 512 Jun 27 23:46 public.www
Constant Summary collapse
- REGEXP =
Stolen straight from the ASF’s commons Java FTP LIST parser library. svn.apache.org/repos/asf/commons/proper/net/trunk/src/java/org/apache/commons/net/ftp/
/^ (d|-){1}\s+ \[(.*?)\]\s+ (\S+)\s+(\d+)\s+ (\S+\s+\S+\s+((\d+:\d+)|(\d{4}))) \s+(.*) $/x.freeze
Class Method Summary collapse
-
.parse(raw, timezone: :utc) ⇒ Object
Parse a Netware like FTP LIST entries.
Class Method Details
.parse(raw, timezone: :utc) ⇒ Object
Parse a Netware like FTP LIST entries.
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/net/ftp/list/netware.rb', line 21 def self.parse(raw, timezone: :utc) match = REGEXP.match(raw.strip) or return false type = match[1] == 'd' ? :dir : :file emit_entry( raw, mtime: parse_time(match[5], timezone: timezone), filesize: match[4].to_i, type: type, basename: match[9], ) end |