Class: Net::FTP::List::Rumpus
- Inherits:
-
Parser
- Object
- Parser
- Net::FTP::List::Rumpus
- Defined in:
- lib/net/ftp/list/rumpus.rb
Overview
Parse Rumpus FTP LIST entries.
MATCHES
drwxr-xr-x folder 0 Nov 30 10:03 houdini -rw-r–r– 0 101426 101426 Jun 7 2008 imap with spaces.rb
Constant Summary collapse
- REGEXP =
/^ ([drwx-]{10})\s+ (folder|0\s+\d+)\s+ (\d+)\s+ (\w+)\s+ (\d{1,2})\s+ (\d{2}:\d{2}|\d{4})\s+ (.+) $/x.freeze
Class Method Summary collapse
-
.parse(raw, timezone: :utc) ⇒ Object
Parse a Rumpus FTP LIST entry.
Class Method Details
.parse(raw, timezone: :utc) ⇒ Object
Parse a Rumpus FTP LIST entry.
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/net/ftp/list/rumpus.rb', line 20 def self.parse(raw, timezone: :utc) match = REGEXP.match(raw.strip) or return false type = match[2] == 'folder' ? :dir : :file emit_entry( raw, basename: match[7], mtime: parse_time(match[4..6].join(' '), timezone: timezone), type: type, filesize: match[3].to_i, ) end |