net-ftp-list 2.0 → 2.1.1
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/.gitignore +7 -0
- data/README.txt +4 -2
- data/Rakefile +42 -41
- data/VERSION.yml +5 -0
- data/lib/net/ftp/list/microsoft.rb +4 -0
- data/lib/net/ftp/list/netware.rb +4 -0
- data/lib/net/ftp/list/parser.rb +11 -3
- data/lib/net/ftp/list/unix.rb +4 -1
- data/net-ftp-list.gemspec +53 -0
- data/test/test_net_ftp_list_microsoft.rb +9 -0
- data/test/test_net_ftp_list_netware.rb +10 -0
- data/test/test_net_ftp_list_unix.rb +20 -5
- metadata +21 -14
    
        data/.gitignore
    ADDED
    
    
    
        data/README.txt
    CHANGED
    
    | @@ -30,13 +30,15 @@ See the RFC for more guff on LIST and NLST: http://www.ietf.org/rfc/rfc0959.txt | |
| 30 30 | 
             
              ftp = Net::FTP.open('somehost.com', 'user', 'pass')
         | 
| 31 31 | 
             
              ftp.list('/some/path') do |e|
         | 
| 32 32 | 
             
                entry = Net::FTP::List.parse(e)
         | 
| 33 | 
            -
             | 
| 33 | 
            +
             | 
| 34 34 | 
             
                # Ignore everything that's not a file (so symlinks, directories and devices etc.)
         | 
| 35 35 | 
             
                next unless entry.file?
         | 
| 36 36 |  | 
| 37 37 | 
             
                # If entry isn't a kind_of Net::FTP::List::Unknown then there is a bug in Net::FTP::List if this isn't the
         | 
| 38 38 | 
             
                # same name as ftp.nlist('/some/path') would have returned.
         | 
| 39 | 
            -
                 | 
| 39 | 
            +
                # Format the entry showing its file size and modification time
         | 
| 40 | 
            +
                puts "#{entry.basename}, #{entry.filesize}, #{entry.mtime}"
         | 
| 41 | 
            +
             | 
| 40 42 | 
             
              end
         | 
| 41 43 |  | 
| 42 44 | 
             
            == CREDITS
         | 
    
        data/Rakefile
    CHANGED
    
    | @@ -1,51 +1,52 @@ | |
| 1 | 
            -
             | 
| 1 | 
            +
            require 'rubygems'
         | 
| 2 2 | 
             
            require 'rake'
         | 
| 3 | 
            -
            require 'rake/clean'
         | 
| 4 | 
            -
            require 'rake/gempackagetask'
         | 
| 5 | 
            -
            require 'rake/testtask'
         | 
| 6 | 
            -
             | 
| 7 | 
            -
            NAME = 'net-ftp-list'
         | 
| 8 | 
            -
            VERS = '2.0'
         | 
| 9 | 
            -
             | 
| 10 | 
            -
            CLEAN.include ['**/*.log', '*.gem']
         | 
| 11 | 
            -
            CLOBBER.include ['**/*.log']
         | 
| 12 3 |  | 
| 13 | 
            -
             | 
| 14 | 
            -
               | 
| 15 | 
            -
               | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
             | 
| 21 | 
            -
               | 
| 22 | 
            -
             | 
| 23 | 
            -
               | 
| 24 | 
            -
             | 
| 25 | 
            -
              s.files            = FileList['Rakefile', '**/*.{rb,txt}'].to_a
         | 
| 26 | 
            -
              s.test_files       = FileList['tests/*.rb'].to_a
         | 
| 4 | 
            +
            begin
         | 
| 5 | 
            +
              require 'jeweler'
         | 
| 6 | 
            +
              Jeweler::Tasks.new do |gem|
         | 
| 7 | 
            +
                gem.name = "net-ftp-list"
         | 
| 8 | 
            +
                gem.summary = %Q{Parse FTP LIST command output.}
         | 
| 9 | 
            +
                gem.email = "enquiries@statelesssystems.com"
         | 
| 10 | 
            +
                gem.homepage = "http://github.com/stateless-systems/net-ftp-list"
         | 
| 11 | 
            +
                gem.authors = ["Stateless Systems"]
         | 
| 12 | 
            +
              end
         | 
| 13 | 
            +
            rescue LoadError
         | 
| 14 | 
            +
              puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
         | 
| 27 15 | 
             
            end
         | 
| 28 16 |  | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
                p.gem_spec = spec
         | 
| 17 | 
            +
            require 'rake/testtask'
         | 
| 18 | 
            +
            Rake::TestTask.new(:test) do |test|
         | 
| 19 | 
            +
              test.libs << 'lib' << 'test'
         | 
| 20 | 
            +
              test.pattern = 'test/**/*_test.rb'
         | 
| 21 | 
            +
              test.verbose = true
         | 
| 35 22 | 
             
            end
         | 
| 36 23 |  | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
               | 
| 24 | 
            +
            begin
         | 
| 25 | 
            +
              require 'rcov/rcovtask'
         | 
| 26 | 
            +
              Rcov::RcovTask.new do |test|
         | 
| 27 | 
            +
                test.libs << 'test'
         | 
| 28 | 
            +
                test.pattern = 'test/**/*_test.rb'
         | 
| 29 | 
            +
                test.verbose = true
         | 
| 30 | 
            +
              end
         | 
| 31 | 
            +
            rescue LoadError
         | 
| 32 | 
            +
              task :rcov do
         | 
| 33 | 
            +
                abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
         | 
| 34 | 
            +
              end
         | 
| 40 35 | 
             
            end
         | 
| 41 36 |  | 
| 42 | 
            -
             | 
| 43 | 
            -
            task :install do
         | 
| 44 | 
            -
              sh %{rake package}
         | 
| 45 | 
            -
              sh %{sudo gem install pkg/#{NAME}-#{VERS}}
         | 
| 46 | 
            -
            end
         | 
| 37 | 
            +
            task :default => :test
         | 
| 47 38 |  | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
               | 
| 39 | 
            +
            require 'rake/rdoctask'
         | 
| 40 | 
            +
            Rake::RDocTask.new do |rdoc|
         | 
| 41 | 
            +
              if File.exist?('VERSION.yml')
         | 
| 42 | 
            +
                config = YAML.load(File.read('VERSION.yml'))
         | 
| 43 | 
            +
                version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
         | 
| 44 | 
            +
              else
         | 
| 45 | 
            +
                version = ""
         | 
| 46 | 
            +
              end
         | 
| 47 | 
            +
             | 
| 48 | 
            +
              rdoc.rdoc_dir = 'rdoc'
         | 
| 49 | 
            +
              rdoc.title = "net-ftp-list #{version}"
         | 
| 50 | 
            +
              rdoc.rdoc_files.include('README*')
         | 
| 51 | 
            +
              rdoc.rdoc_files.include('lib/**/*.rb')
         | 
| 51 52 | 
             
            end
         | 
    
        data/VERSION.yml
    ADDED
    
    
| @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            require 'net/ftp/list/parser'
         | 
| 2 | 
            +
            require 'date'
         | 
| 2 3 |  | 
| 3 4 | 
             
            module Net
         | 
| 4 5 | 
             
              class FTP
         | 
| @@ -33,9 +34,12 @@ module Net | |
| 33 34 | 
             
                      super(raw)
         | 
| 34 35 | 
             
                      match = REGEXP.match(raw.strip) or raise ParserError
         | 
| 35 36 |  | 
| 37 | 
            +
                      @mtime = DateTime.strptime("#{match[1]} #{match[2]}", "%m-%d-%y  %I:%M%p")
         | 
| 38 | 
            +
             | 
| 36 39 | 
             
                      if match[3] == '<DIR>'
         | 
| 37 40 | 
             
                        @dir = true
         | 
| 38 41 | 
             
                      else
         | 
| 42 | 
            +
                        @filesize = match[4].to_i
         | 
| 39 43 | 
             
                        @file = true
         | 
| 40 44 | 
             
                      end
         | 
| 41 45 |  | 
    
        data/lib/net/ftp/list/netware.rb
    CHANGED
    
    | @@ -1,4 +1,5 @@ | |
| 1 1 | 
             
            require 'net/ftp/list/parser'
         | 
| 2 | 
            +
            require 'time'
         | 
| 2 3 |  | 
| 3 4 | 
             
            module Net
         | 
| 4 5 | 
             
              class FTP
         | 
| @@ -33,6 +34,9 @@ module Net | |
| 33 34 | 
             
                      super(raw)
         | 
| 34 35 | 
             
                      match = REGEXP.match(raw.strip) or raise ParserError
         | 
| 35 36 |  | 
| 37 | 
            +
                      @mtime = Time.parse(match[5])
         | 
| 38 | 
            +
                      @filesize = match[4].to_i
         | 
| 39 | 
            +
             | 
| 36 40 | 
             
                      if match[1] == 'd'
         | 
| 37 41 | 
             
                        @dir = true
         | 
| 38 42 | 
             
                      else
         | 
    
        data/lib/net/ftp/list/parser.rb
    CHANGED
    
    | @@ -43,17 +43,25 @@ module Net | |
| 43 43 |  | 
| 44 44 | 
             
                    # Looks like a directory, try CWD.
         | 
| 45 45 | 
             
                    def dir?
         | 
| 46 | 
            -
                       | 
| 46 | 
            +
                      !!(@dir ||= false)
         | 
| 47 47 | 
             
                    end
         | 
| 48 48 |  | 
| 49 49 | 
             
                    # Looks like a file, try RETR.
         | 
| 50 50 | 
             
                    def file?
         | 
| 51 | 
            -
                       | 
| 51 | 
            +
                      !!(@file ||= false)
         | 
| 52 52 | 
             
                    end
         | 
| 53 53 |  | 
| 54 54 | 
             
                    # Looks like a symbolic link.
         | 
| 55 55 | 
             
                    def symlink?
         | 
| 56 | 
            -
                       | 
| 56 | 
            +
                      !!(@symlink ||= false)
         | 
| 57 | 
            +
                    end
         | 
| 58 | 
            +
             | 
| 59 | 
            +
                    def mtime
         | 
| 60 | 
            +
                      @mtime
         | 
| 61 | 
            +
                    end
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                    def filesize
         | 
| 64 | 
            +
                      @filesize
         | 
| 57 65 | 
             
                    end
         | 
| 58 66 |  | 
| 59 67 | 
             
                    class << self
         | 
    
        data/lib/net/ftp/list/unix.rb
    CHANGED
    
    | @@ -1,3 +1,4 @@ | |
| 1 | 
            +
            require 'time'
         | 
| 1 2 | 
             
            require 'net/ftp/list/parser'
         | 
| 2 3 |  | 
| 3 4 | 
             
            module Net
         | 
| @@ -7,7 +8,7 @@ module Net | |
| 7 8 | 
             
                  # Parse Unix like FTP LIST entries.
         | 
| 8 9 | 
             
                  #
         | 
| 9 10 | 
             
                  # == MATCHES
         | 
| 10 | 
            -
                  # | 
| 11 | 
            +
                  #
         | 
| 11 12 | 
             
                  #   drwxr-xr-x   4 steve    group       4096 Dec 10 20:23 etc
         | 
| 12 13 | 
             
                  #   -rw-r--r--   1 root     other        531 Jan 29 03:26 README.txt
         | 
| 13 14 | 
             
                  #
         | 
| @@ -46,6 +47,8 @@ module Net | |
| 46 47 | 
             
                      end
         | 
| 47 48 |  | 
| 48 49 | 
             
                      # TODO: Permissions, users, groups, date/time.
         | 
| 50 | 
            +
                      @filesize = match[18].to_i
         | 
| 51 | 
            +
                      @mtime = Time.parse("#{match[19]} #{match[20]}")
         | 
| 49 52 |  | 
| 50 53 | 
             
                      @basename = match[21].strip
         | 
| 51 54 |  | 
| @@ -0,0 +1,53 @@ | |
| 1 | 
            +
            # Generated by jeweler
         | 
| 2 | 
            +
            # DO NOT EDIT THIS FILE DIRECTLY
         | 
| 3 | 
            +
            # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
         | 
| 4 | 
            +
            # -*- encoding: utf-8 -*-
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            Gem::Specification.new do |s|
         | 
| 7 | 
            +
              s.name = %q{net-ftp-list}
         | 
| 8 | 
            +
              s.version = "2.1.1"
         | 
| 9 | 
            +
             | 
| 10 | 
            +
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         | 
| 11 | 
            +
              s.authors = ["Stateless Systems"]
         | 
| 12 | 
            +
              s.date = %q{2010-07-30}
         | 
| 13 | 
            +
              s.email = %q{enquiries@statelesssystems.com}
         | 
| 14 | 
            +
              s.extra_rdoc_files = [
         | 
| 15 | 
            +
                "README.txt"
         | 
| 16 | 
            +
              ]
         | 
| 17 | 
            +
              s.files = [
         | 
| 18 | 
            +
                ".gitignore",
         | 
| 19 | 
            +
                 "README.txt",
         | 
| 20 | 
            +
                 "Rakefile",
         | 
| 21 | 
            +
                 "VERSION.yml",
         | 
| 22 | 
            +
                 "lib/net/ftp/list.rb",
         | 
| 23 | 
            +
                 "lib/net/ftp/list/microsoft.rb",
         | 
| 24 | 
            +
                 "lib/net/ftp/list/netware.rb",
         | 
| 25 | 
            +
                 "lib/net/ftp/list/parser.rb",
         | 
| 26 | 
            +
                 "lib/net/ftp/list/unix.rb",
         | 
| 27 | 
            +
                 "net-ftp-list.gemspec",
         | 
| 28 | 
            +
                 "test/test_net_ftp_list_microsoft.rb",
         | 
| 29 | 
            +
                 "test/test_net_ftp_list_netware.rb",
         | 
| 30 | 
            +
                 "test/test_net_ftp_list_unix.rb"
         | 
| 31 | 
            +
              ]
         | 
| 32 | 
            +
              s.homepage = %q{http://github.com/stateless-systems/net-ftp-list}
         | 
| 33 | 
            +
              s.rdoc_options = ["--charset=UTF-8"]
         | 
| 34 | 
            +
              s.require_paths = ["lib"]
         | 
| 35 | 
            +
              s.rubygems_version = %q{1.3.5}
         | 
| 36 | 
            +
              s.summary = %q{Parse FTP LIST command output.}
         | 
| 37 | 
            +
              s.test_files = [
         | 
| 38 | 
            +
                "test/test_net_ftp_list_microsoft.rb",
         | 
| 39 | 
            +
                 "test/test_net_ftp_list_unix.rb",
         | 
| 40 | 
            +
                 "test/test_net_ftp_list_netware.rb"
         | 
| 41 | 
            +
              ]
         | 
| 42 | 
            +
             | 
| 43 | 
            +
              if s.respond_to? :specification_version then
         | 
| 44 | 
            +
                current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
         | 
| 45 | 
            +
                s.specification_version = 3
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
         | 
| 48 | 
            +
                else
         | 
| 49 | 
            +
                end
         | 
| 50 | 
            +
              else
         | 
| 51 | 
            +
              end
         | 
| 52 | 
            +
            end
         | 
| 53 | 
            +
             | 
| @@ -18,6 +18,11 @@ class TestNetFTPListMicrosoft < Test::Unit::TestCase | |
| 18 18 | 
             
                assert_instance_of Net::FTP::List::Unknown, Net::FTP::List.parse("++ bah! ++")
         | 
| 19 19 | 
             
              end
         | 
| 20 20 |  | 
| 21 | 
            +
              def test_ruby_microsoft_mtime
         | 
| 22 | 
            +
                assert_equal DateTime.strptime('06-25-07  01:08PM', "%m-%d-%y  %I:%M%p"), @dir.mtime
         | 
| 23 | 
            +
                assert_equal DateTime.strptime('11-27-07  08:45PM', "%m-%d-%y  %I:%M%p"), @file.mtime
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
             | 
| 21 26 | 
             
              def test_ruby_microsoft_like_dir
         | 
| 22 27 | 
             
                assert_equal 'etc', @dir.basename
         | 
| 23 28 | 
             
                assert @dir.dir?
         | 
| @@ -30,4 +35,8 @@ class TestNetFTPListMicrosoft < Test::Unit::TestCase | |
| 30 35 | 
             
                assert !@file.dir?
         | 
| 31 36 | 
             
              end
         | 
| 32 37 |  | 
| 38 | 
            +
              def test_filesize
         | 
| 39 | 
            +
                assert @dir.filesize.nil?
         | 
| 40 | 
            +
                assert_equal 23437, @file.filesize
         | 
| 41 | 
            +
              end
         | 
| 33 42 | 
             
            end
         | 
| @@ -17,6 +17,11 @@ class TestNetFTPListNetware < Test::Unit::TestCase | |
| 17 17 | 
             
                assert_instance_of Net::FTP::List::Unknown, Net::FTP::List.parse("++ bah! ++")
         | 
| 18 18 | 
             
              end
         | 
| 19 19 |  | 
| 20 | 
            +
              def test_ruby_netware_mtime
         | 
| 21 | 
            +
                assert_equal @dir.mtime, Time.parse('Jun 27 23:46')
         | 
| 22 | 
            +
                assert_equal @file.mtime, Time.parse('Jun 22 06:22')
         | 
| 23 | 
            +
              end
         | 
| 24 | 
            +
             | 
| 20 25 | 
             
              def test_ruby_netware_like_dir
         | 
| 21 26 | 
             
                assert_equal 'public.www', @dir.basename
         | 
| 22 27 | 
             
                assert @dir.dir?
         | 
| @@ -29,4 +34,9 @@ class TestNetFTPListNetware < Test::Unit::TestCase | |
| 29 34 | 
             
                assert !@file.dir?
         | 
| 30 35 | 
             
              end
         | 
| 31 36 |  | 
| 37 | 
            +
              def test_filesize
         | 
| 38 | 
            +
                assert_equal 512, @dir.filesize
         | 
| 39 | 
            +
                assert_equal 2767, @file.filesize
         | 
| 40 | 
            +
              end
         | 
| 41 | 
            +
             | 
| 32 42 | 
             
            end
         | 
| @@ -4,11 +4,12 @@ require 'net/ftp/list' | |
| 4 4 | 
             
            class TestNetFTPListUnix < Test::Unit::TestCase
         | 
| 5 5 |  | 
| 6 6 | 
             
              def setup
         | 
| 7 | 
            -
                @dir  = Net::FTP::List.parse | 
| 8 | 
            -
                @file = Net::FTP::List.parse | 
| 9 | 
            -
                @other_dir = Net::FTP::List.parse | 
| 10 | 
            -
                @spaces = Net::FTP::List.parse | 
| 11 | 
            -
                @symlink = Net::FTP::List.parse | 
| 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 | 
            +
                @other_dir = Net::FTP::List.parse  'drwxr-xr-x 8 1791     600      4096 Mar 11 07:57 forums'
         | 
| 10 | 
            +
                @spaces = Net::FTP::List.parse     'drwxrwxr-x 2 danial   danial     72 May 23 12:52 spaces suck'
         | 
| 11 | 
            +
                @symlink = Net::FTP::List.parse    'lrwxrwxrwx 1 danial   danial      4 Apr 30 15:26 bar -> /etc'
         | 
| 12 | 
            +
                @older_date = Net::FTP::List.parse '-rwxrwxrwx   1 owner    group          154112 Feb 15  2008 participando.xls'
         | 
| 12 13 | 
             
              end
         | 
| 13 14 |  | 
| 14 15 | 
             
              def test_parse_new
         | 
| @@ -23,6 +24,12 @@ class TestNetFTPListUnix < Test::Unit::TestCase | |
| 23 24 | 
             
                assert_instance_of Net::FTP::List::Unknown, Net::FTP::List.parse("++ bah! ++")
         | 
| 24 25 | 
             
              end
         | 
| 25 26 |  | 
| 27 | 
            +
              def test_ruby_unix_like_date
         | 
| 28 | 
            +
                assert_equal Time.parse("Mar 11 07:57"), @other_dir.mtime
         | 
| 29 | 
            +
                assert_equal Time.parse("Apr 30 15:26"), @symlink.mtime
         | 
| 30 | 
            +
                assert_equal Time.parse("Feb 15  2008"), @older_date.mtime
         | 
| 31 | 
            +
              end
         | 
| 32 | 
            +
             | 
| 26 33 | 
             
              def test_ruby_unix_like_dir
         | 
| 27 34 | 
             
                assert_equal 'etc', @dir.basename
         | 
| 28 35 | 
             
                assert @dir.dir?
         | 
| @@ -52,4 +59,12 @@ class TestNetFTPListUnix < Test::Unit::TestCase | |
| 52 59 | 
             
                assert !@file.dir?
         | 
| 53 60 | 
             
              end
         | 
| 54 61 |  | 
| 62 | 
            +
              def test_filesize
         | 
| 63 | 
            +
                assert_equal 4096, @dir.filesize
         | 
| 64 | 
            +
                assert_equal 531, @file.filesize
         | 
| 65 | 
            +
                assert_equal 4096, @other_dir.filesize
         | 
| 66 | 
            +
                assert_equal 72, @spaces.filesize
         | 
| 67 | 
            +
                assert_equal 4, @symlink.filesize
         | 
| 68 | 
            +
                assert_equal 154112, @older_date.filesize
         | 
| 69 | 
            +
              end
         | 
| 55 70 | 
             
            end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,20 +1,20 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: net-ftp-list
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version:  | 
| 4 | 
            +
              version: 2.1.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 | 
            -
            -  | 
| 7 | 
            +
            - Stateless Systems
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 11 |  | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2010-07-30 00:00:00 +10:00
         | 
| 13 13 | 
             
            default_executable: 
         | 
| 14 14 | 
             
            dependencies: []
         | 
| 15 15 |  | 
| 16 | 
            -
            description:  | 
| 17 | 
            -
            email:  | 
| 16 | 
            +
            description: 
         | 
| 17 | 
            +
            email: enquiries@statelesssystems.com
         | 
| 18 18 | 
             
            executables: []
         | 
| 19 19 |  | 
| 20 20 | 
             
            extensions: []
         | 
| @@ -22,21 +22,26 @@ extensions: [] | |
| 22 22 | 
             
            extra_rdoc_files: 
         | 
| 23 23 | 
             
            - README.txt
         | 
| 24 24 | 
             
            files: 
         | 
| 25 | 
            +
            - .gitignore
         | 
| 26 | 
            +
            - README.txt
         | 
| 25 27 | 
             
            - Rakefile
         | 
| 28 | 
            +
            - VERSION.yml
         | 
| 29 | 
            +
            - lib/net/ftp/list.rb
         | 
| 26 30 | 
             
            - lib/net/ftp/list/microsoft.rb
         | 
| 27 31 | 
             
            - lib/net/ftp/list/netware.rb
         | 
| 28 32 | 
             
            - lib/net/ftp/list/parser.rb
         | 
| 29 33 | 
             
            - lib/net/ftp/list/unix.rb
         | 
| 30 | 
            -
            -  | 
| 34 | 
            +
            - net-ftp-list.gemspec
         | 
| 31 35 | 
             
            - test/test_net_ftp_list_microsoft.rb
         | 
| 32 36 | 
             
            - test/test_net_ftp_list_netware.rb
         | 
| 33 37 | 
             
            - test/test_net_ftp_list_unix.rb
         | 
| 34 | 
            -
            - README.txt
         | 
| 35 38 | 
             
            has_rdoc: true
         | 
| 36 | 
            -
            homepage: http:// | 
| 37 | 
            -
             | 
| 38 | 
            -
            rdoc_options: []
         | 
| 39 | 
            +
            homepage: http://github.com/stateless-systems/net-ftp-list
         | 
| 40 | 
            +
            licenses: []
         | 
| 39 41 |  | 
| 42 | 
            +
            post_install_message: 
         | 
| 43 | 
            +
            rdoc_options: 
         | 
| 44 | 
            +
            - --charset=UTF-8
         | 
| 40 45 | 
             
            require_paths: 
         | 
| 41 46 | 
             
            - lib
         | 
| 42 47 | 
             
            required_ruby_version: !ruby/object:Gem::Requirement 
         | 
| @@ -54,9 +59,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 54 59 | 
             
            requirements: []
         | 
| 55 60 |  | 
| 56 61 | 
             
            rubyforge_project: 
         | 
| 57 | 
            -
            rubygems_version: 1. | 
| 62 | 
            +
            rubygems_version: 1.3.5
         | 
| 58 63 | 
             
            signing_key: 
         | 
| 59 | 
            -
            specification_version:  | 
| 64 | 
            +
            specification_version: 3
         | 
| 60 65 | 
             
            summary: Parse FTP LIST command output.
         | 
| 61 | 
            -
            test_files:  | 
| 62 | 
            -
             | 
| 66 | 
            +
            test_files: 
         | 
| 67 | 
            +
            - test/test_net_ftp_list_microsoft.rb
         | 
| 68 | 
            +
            - test/test_net_ftp_list_unix.rb
         | 
| 69 | 
            +
            - test/test_net_ftp_list_netware.rb
         |