testftpd 0.2.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0e253a0ac759c449b1ec10031c41ee07c6b60f08
4
- data.tar.gz: b6b319117d53aa64722c75b390859385657ff90e
3
+ metadata.gz: 136a31c4348297f7ae55056d8714d0552b6d6570
4
+ data.tar.gz: 941277ed7a8fb42821c6dd388d020e1adec0c550
5
5
  SHA512:
6
- metadata.gz: 0020a1cd619e2ae2bcbec0ddbf82f614cb16e6b9c3fcecb8fbd725258318d128874817114174d7f60d71ce32660f7f8d365af4978a4c410221d72a2296721132
7
- data.tar.gz: ad8dae905f645a4ce70f69b2c562579f0b765d79a6fe0c87ca8f29872208d06ad03e143476fc0e3ed9ff328877005084439ecaa87d3c150849ef880afabefba2
6
+ metadata.gz: 3924d5537db955f0fccde16f722e02d876c22a544086c7e9e14ddc2cde2995dc38b86e00792afb79477cc4d1d9c733c4f3eb0a9b452e9f90c025ee33c7668984
7
+ data.tar.gz: 3285451db03c3f4ec6aa9b4771c00ffc6483b3fc2f3bada32add975610892b2fddbeba67098f940cf23a76e6559cea5a0046a0f82f762034d7825fa0748cdf3b
@@ -1,10 +1,11 @@
1
1
  module TestFtpd
2
2
 
3
3
  class FileSystemProvider
4
- attr_reader :path, :ftp_name, :ftp_size, :ftp_date
4
+ attr_reader :path, :server, :ftp_name, :ftp_size, :ftp_date
5
5
 
6
- def initialize(path)
6
+ def initialize(path, server)
7
7
  @path = path
8
+ @server = server
8
9
  @ftp_name = path.split('/').last
9
10
  @ftp_name = '/' unless @ftp_name
10
11
  @ftp_dir = File.directory?(path)
@@ -23,7 +24,7 @@ module TestFtpd
23
24
  path_parts = path.split('/')
24
25
  return nil unless path_parts.pop
25
26
  return nil if path_parts.size <= 1
26
- FileSystemProvider.new(path_parts.join('/'))
27
+ FileSystemProvider.new(path_parts.join('/'), server)
27
28
  end
28
29
 
29
30
  def ftp_list(filter = nil)
@@ -36,16 +37,16 @@ module TestFtpd
36
37
  else
37
38
  entries = Dir.entries(path)
38
39
  end
39
- entries = entries.reject { |name| %w{. ..}.include?(File.basename(name)) }
40
+ entries = entries.reject { |name| %w{. ..}.include?(File.basename(name)) } unless server.config.fetch(:include_dot_folders, false)
40
41
  entries.map do |name|
41
- FileSystemProvider.new(File.join(path, name))
42
+ FileSystemProvider.new(File.join(path, name), server)
42
43
  end
43
44
  end
44
45
 
45
46
  def ftp_create(name, dir = false)
46
- return FileSystemProvider.new(path + '/' + name) unless dir
47
+ return FileSystemProvider.new(path + '/' + name, server) unless dir
47
48
  Dir.mkdir(path + '/' + name)
48
- FileSystemProvider.new(path + '/' + name)
49
+ FileSystemProvider.new(path + '/' + name, server)
49
50
  rescue
50
51
  return false
51
52
  end
@@ -9,7 +9,7 @@ module TestFtpd
9
9
 
10
10
  class Server < DynFTPServer
11
11
  def initialize(config = {})
12
- config.merge!(:root => FileSystemProvider.new(config[:root_dir]))
12
+ config.merge!(:root => FileSystemProvider.new(config[:root_dir], self))
13
13
  @ftp_thread = nil
14
14
  super(config)
15
15
  end
@@ -1,3 +1,3 @@
1
1
  module TestFtpd
2
- VERSION = '0.2.0'
2
+ VERSION = '0.2.1'
3
3
  end
@@ -65,14 +65,15 @@ class DynFTPServer
65
65
 
66
66
  def defaults
67
67
  {
68
- host: '',
69
- port: 21,
70
- masquerade_ip: nil,
71
- pasv_min_port: 1024,
72
- pasv_max_port: 65535,
73
- root: nil,
74
- authentication: ->(user, pass) { return true },
75
- logger: nil
68
+ host: '',
69
+ port: 21,
70
+ masquerade_ip: nil,
71
+ pasv_min_port: 1024,
72
+ pasv_max_port: 65535,
73
+ root: nil,
74
+ authentication: ->(user, pass) { return true },
75
+ logger: nil,
76
+ include_dot_folders: false
76
77
  }
77
78
  end
78
79
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: testftpd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christian Schulze
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-17 00:00:00.000000000 Z
11
+ date: 2013-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake