ftp_sync 0.4.1 → 0.4.2
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.rdoc +2 -0
- data/lib/ftp_sync.rb +7 -2
- data/test/ftp_sync_test.rb +20 -0
- data/test/net/ftp.rb +3 -0
- metadata +4 -4
data/README.rdoc
CHANGED
@@ -21,4 +21,6 @@ make some changes on server
|
|
21
21
|
ftp.pull_dir '/tmp/syncdir', 'path/on/server', :since => true, :delete => true
|
22
22
|
|
23
23
|
:since => true - means only files which are newer than the local copy will be downloaded
|
24
|
+
:since => Time.now - means only files which are newer than the supplied date will be downloaded
|
24
25
|
:delete => true - means if the file is removed from the server, then the local copy is removed
|
26
|
+
:skip_errors => true - means if file cant be read (ie permissions) it will be skipped
|
data/lib/ftp_sync.rb
CHANGED
@@ -66,8 +66,13 @@ class FtpSync
|
|
66
66
|
tocopy.each do |paths|
|
67
67
|
localfile, remotefile = paths
|
68
68
|
unless should_ignore?(localfile)
|
69
|
-
|
70
|
-
|
69
|
+
begin
|
70
|
+
@connection.get(remotefile, localfile)
|
71
|
+
log "Pulled file #{remotefile}"
|
72
|
+
rescue Net::FTPPermError
|
73
|
+
log "ERROR READING #{remotefile}"
|
74
|
+
raise Net::FTPPermError unless options[:skip_errors]
|
75
|
+
end
|
71
76
|
end
|
72
77
|
end
|
73
78
|
|
data/test/ftp_sync_test.rb
CHANGED
@@ -125,6 +125,26 @@ class FtpSyncTest < Test::Unit::TestCase
|
|
125
125
|
FileUtils.rm_r File.join(Net::FTP.ftp_src, 'README')
|
126
126
|
@ftp.pull_dir(@local, '/')
|
127
127
|
assert File.exist?(File.join(@local, 'README'))
|
128
|
+
end
|
129
|
+
|
130
|
+
def test_pulling_with_permissions_error_fails
|
131
|
+
FileUtils.chmod 0200, File.join(Net::FTP.ftp_src, 'fileA')
|
132
|
+
assert_raises Net::FTPPermError do
|
133
|
+
@ftp.pull_dir(@local, '/')
|
134
|
+
end
|
135
|
+
assert File.exist?(File.join(@local, 'README'))
|
136
|
+
assert !File.exist?(File.join(@local, 'fileA'))
|
137
|
+
assert !File.exist?(File.join(@local, 'fileB'))
|
138
|
+
end
|
139
|
+
|
140
|
+
def test_pulling_with_permissions_error_continues
|
141
|
+
FileUtils.chmod 0200, File.join(Net::FTP.ftp_src, 'fileA')
|
142
|
+
assert_nothing_raised do
|
143
|
+
@ftp.pull_dir(@local, '/', :skip_errors => true)
|
144
|
+
end
|
145
|
+
assert File.exist?(File.join(@local, 'README'))
|
146
|
+
assert !File.exist?(File.join(@local, 'fileA'))
|
147
|
+
assert File.exist?(File.join(@local, 'fileB'))
|
128
148
|
end
|
129
149
|
|
130
150
|
def test_quick_pull_of_file_older_than_change_date
|
data/test/net/ftp.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ftp_sync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 2
|
10
|
+
version: 0.4.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- jebw
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-11-30 00:00:00 +00:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|