net-ftp-list 0.4 → 0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.txt CHANGED
@@ -28,8 +28,9 @@ See the RFC for more guff on LIST and NLST: http://www.ietf.org/rfc/rfc0959.txt
28
28
  require 'net/ftp/list'
29
29
 
30
30
  ftp = Net::FTP.open('somehost.com', 'user', 'pass')
31
- ftp.extend Net::FTP::List # Tweak list, ls and dir to returned parsed content.
32
- ftp.list('/some/path') do |entry|
31
+ ftp.list('/some/path') do |e|
32
+ entry = Net::FTP::List.parse(e)
33
+
33
34
  # Ignore everything that's not a file (so symlinks, directories and devices etc.)
34
35
  next unless entry.file?
35
36
 
data/Rakefile CHANGED
@@ -5,7 +5,7 @@ require 'rake/gempackagetask'
5
5
  require 'rake/testtask'
6
6
 
7
7
  NAME = 'net-ftp-list'
8
- VERS = '0.4'
8
+ VERS = '0.5'
9
9
 
10
10
  CLEAN.include ['**/*.log', '*.gem']
11
11
  CLOBBER.include ['**/*.log']
@@ -10,17 +10,15 @@ module Net #:nodoc:
10
10
 
11
11
  # Parse FTP LIST responses.
12
12
  #
13
- # Mixin the +Net::FTP::List+ module and subsequent calls to the Net::FTP +list+, +ls+ or +dir+ methods will be
14
- # parsed by the LIST parser as best it can.
15
- #
16
13
  # == Creation
17
14
  #
18
15
  # require 'net/ftp' # Not really required but I like to list dependencies sometimes.
19
16
  # require 'net/ftp/list'
20
17
  #
21
18
  # ftp = Net::FTP.open('somehost.com', 'user', 'pass')
22
- # ftp.extend Net::FTP::List
23
- # ftp.list('/some/path') do |entry|
19
+ # ftp.list('/some/path') do |e|
20
+ # entry = Net::FTP::List.parse(e)
21
+ #
24
22
  # # Ignore everything that's not a file (so symlinks, directories and devices etc.)
25
23
  # next unless entry.file?
26
24
  #
@@ -34,29 +32,10 @@ module Net #:nodoc:
34
32
  # None at this time. At worst you'll end up with an Net::FTP::List::Unknown instance which won't have any extra
35
33
  # useful information. Methods like <tt>dir?</tt>, <tt>file?</tt> and <tt>symlink?</tt> will all return +false+.
36
34
  module List
37
-
38
- def self.extended(klass) #:nodoc:
39
- class << klass
40
-
41
- alias_method :raw_list, :list
42
- def list(*args, &block)
43
- if block
44
- raw_list(*args) do |raw|
45
- Net::FTP::List::Parser.parse(raw)
46
- yield raw
47
- end
48
- else
49
- raw_list(*args).map do |raw|
50
- Net::FTP::List::Parser.parse(raw)
51
- end
52
- end
53
- end
54
-
55
- end
35
+ def self.parse(*args)
36
+ Parser.parse(*args)
56
37
  end
57
-
58
38
  end
59
-
60
39
  end
61
40
  end
62
41
 
@@ -4,8 +4,8 @@ require 'net/ftp/list'
4
4
  class TestNetFTPList < Test::Unit::TestCase
5
5
 
6
6
  def setup
7
- @dir = Net::FTP::List::Parser.parse('drwxr-xr-x 4 user group 4096 Dec 10 20:23 etc')
8
- @file = Net::FTP::List::Parser.parse('-rw-r--r-- 1 root other 531 Jan 29 03:26 README')
7
+ @dir = Net::FTP::List.parse('drwxr-xr-x 4 user group 4096 Dec 10 20:23 etc')
8
+ @file = Net::FTP::List.parse('-rw-r--r-- 1 root other 531 Jan 29 03:26 README')
9
9
  end
10
10
 
11
11
  def test_parse_new
@@ -14,7 +14,7 @@ class TestNetFTPList < Test::Unit::TestCase
14
14
  end
15
15
 
16
16
  def test_rubbish_lines
17
- assert_instance_of Net::FTP::List::Unknown, Net::FTP::List::Parser.parse("++ bah! ++")
17
+ assert_instance_of Net::FTP::List::Unknown, Net::FTP::List.parse("++ bah! ++")
18
18
  end
19
19
 
20
20
  def test_ruby_unix_like_dir
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: net-ftp-list
5
5
  version: !ruby/object:Gem::Version
6
- version: "0.4"
7
- date: 2008-01-16 00:00:00 +11:00
6
+ version: "0.5"
7
+ date: 2008-01-17 00:00:00 +11:00
8
8
  summary: Parse FTP LIST command output.
9
9
  require_paths:
10
10
  - lib