paperclip-storage-ftp 1.2.7 → 1.2.8
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 +5 -5
- data/.travis.yml +6 -6
- data/Gemfile +0 -12
- data/README.md +4 -0
- data/gemfiles/Gemfile.paperclip-4.x +0 -7
- data/gemfiles/Gemfile.paperclip-5.x +5 -0
- data/gemfiles/Gemfile.paperclip-6.x +5 -0
- data/lib/paperclip/storage/ftp.rb +1 -1
- data/lib/paperclip/storage/ftp/server.rb +10 -2
- data/paperclip-storage-ftp.gemspec +4 -2
- data/spec/paperclip/storage/ftp/server_spec.rb +6 -0
- data/spec/spec_helper.rb +7 -7
- data/spec/support/integration/user.rb +0 -2
- data/test-all.sh +6 -4
- metadata +35 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f8e3482435d4e8f14b4a7facab27ac44de03d12a32c95ec8af472a3cbace5091
|
4
|
+
data.tar.gz: e8952f378161c220a1d489b0362b5d18ca4495f19e1de90df284ed71f45c5b34
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f19662f017a22c212eef62c6b47b68d29e258507bb9d0f4ba611c3c14c724e822b3ef0d2ff5aebb0742ce0573d025a30174a3631bc23a5e46c1fa12244d42704
|
7
|
+
data.tar.gz: 9af2f49b84b12427567d374e05c6b3c186874c18729f5c800142bf85c383f7e9746d5d6d60af9abec2aa0dd3db5614b04a58d6e4155759944648a99ac7ceeb11
|
data/.travis.yml
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
language: ruby
|
2
|
+
# Keep in sync with test-all.sh
|
2
3
|
rvm:
|
3
|
-
- 2.
|
4
|
-
- 2.
|
5
|
-
-
|
4
|
+
- 2.3.7
|
5
|
+
- 2.4.4
|
6
|
+
- 2.5.1
|
6
7
|
gemfile:
|
7
8
|
- gemfiles/Gemfile.paperclip-4.x
|
8
|
-
|
9
|
-
|
10
|
-
- rvm: jruby-19mode
|
9
|
+
- gemfiles/Gemfile.paperclip-5.x
|
10
|
+
- gemfiles/Gemfile.paperclip-6.x
|
11
11
|
sudo: false
|
12
12
|
cache: bundler
|
data/Gemfile
CHANGED
@@ -2,15 +2,3 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in paperclip-storage-ftp.gemspec
|
4
4
|
gemspec
|
5
|
-
|
6
|
-
group :test do
|
7
|
-
gem "sqlite3", :platforms => :ruby
|
8
|
-
gem "activerecord-jdbcsqlite3-adapter", "1.3.0.beta2", :platforms => :jruby
|
9
|
-
|
10
|
-
gem "coveralls", :require => false
|
11
|
-
end
|
12
|
-
|
13
|
-
platforms :rbx do
|
14
|
-
gem 'rubysl', '~> 2.0'
|
15
|
-
gem 'json'
|
16
|
-
end
|
data/README.md
CHANGED
@@ -87,6 +87,10 @@ end
|
|
87
87
|
|
88
88
|
## Changelog
|
89
89
|
|
90
|
+
### 1.2.8
|
91
|
+
|
92
|
+
* Handle possible ftp error when uploading to empty remote dir [#28](https://github.com/xing/paperclip-storage-ftp/pull/28)
|
93
|
+
|
90
94
|
### 1.2.7
|
91
95
|
|
92
96
|
* Reduce number of FTP commands for creating directories [#27](https://github.com/xing/paperclip-storage-ftp/pull/27)
|
@@ -3,10 +3,3 @@ source "http://rubygems.org"
|
|
3
3
|
gemspec :path => '..'
|
4
4
|
|
5
5
|
gem "paperclip", "~>4.0"
|
6
|
-
|
7
|
-
group :test do
|
8
|
-
gem "sqlite3", :platforms => :ruby
|
9
|
-
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
|
10
|
-
|
11
|
-
gem "coveralls", :require => false, :platforms => :ruby
|
12
|
-
end
|
@@ -100,8 +100,15 @@ module Paperclip
|
|
100
100
|
|
101
101
|
def mktree(tree, base = "/")
|
102
102
|
return unless tree.any?
|
103
|
-
|
104
|
-
|
103
|
+
|
104
|
+
existing_files =
|
105
|
+
begin
|
106
|
+
connection.nlst(base)
|
107
|
+
rescue Net::FTPError
|
108
|
+
[]
|
109
|
+
end
|
110
|
+
|
111
|
+
tree.reject{|k,_| existing_files.include?(k)}.each do |directory, sub_directories|
|
105
112
|
begin
|
106
113
|
connection.mkdir(base + directory)
|
107
114
|
rescue Net::FTPPermError
|
@@ -109,6 +116,7 @@ module Paperclip
|
|
109
116
|
# maybe it was created in the meantime.
|
110
117
|
end
|
111
118
|
end
|
119
|
+
|
112
120
|
tree.each do |directory, sub_directories|
|
113
121
|
mktree(sub_directories, base + directory + "/")
|
114
122
|
end
|
@@ -12,12 +12,14 @@ Gem::Specification.new do |gem|
|
|
12
12
|
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
13
13
|
gem.name = "paperclip-storage-ftp"
|
14
14
|
gem.require_paths = ["lib"]
|
15
|
-
gem.version = "1.2.
|
15
|
+
gem.version = "1.2.8"
|
16
16
|
|
17
|
-
gem.add_dependency("paperclip")
|
17
|
+
gem.add_dependency("paperclip", ">= 4.0.0")
|
18
18
|
|
19
19
|
gem.add_development_dependency("rspec")
|
20
20
|
gem.add_development_dependency("rake")
|
21
21
|
gem.add_development_dependency("daemon_controller", ">= 1.1.0")
|
22
22
|
gem.add_development_dependency("activerecord")
|
23
|
+
gem.add_development_dependency("sqlite3")
|
24
|
+
gem.add_development_dependency("coveralls")
|
23
25
|
end
|
@@ -190,6 +190,12 @@ describe Paperclip::Storage::Ftp::Server do
|
|
190
190
|
connection.should_receive(:mkdir).with("/foo/baz/qux").ordered
|
191
191
|
server.mktree(tree)
|
192
192
|
end
|
193
|
+
|
194
|
+
it "handles possible error on nlst" do
|
195
|
+
connection.should_receive(:nlst).with("/").ordered.and_raise(Net::FTPError)
|
196
|
+
connection.should_receive(:mkdir).with("/foo").ordered
|
197
|
+
server.mktree("foo"=>{})
|
198
|
+
end
|
193
199
|
end
|
194
200
|
|
195
201
|
context "partially existent ftp tree" do
|
data/spec/spec_helper.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
# Send coveralls report on one job per build only
|
2
|
+
if ENV["TRAVIS_JOB_NUMBER"].to_s.end_with?(".1")
|
3
|
+
begin
|
4
|
+
require "coveralls"
|
5
|
+
Coveralls.wear!
|
6
|
+
rescue LoadError
|
7
|
+
end
|
5
8
|
end
|
6
9
|
|
7
10
|
RSpec.configure do |config|
|
@@ -19,6 +22,3 @@ end
|
|
19
22
|
require "paperclip/storage/ftp"
|
20
23
|
|
21
24
|
Paperclip.options[:log] = false
|
22
|
-
|
23
|
-
# https://github.com/thoughtbot/cocaine#caveat
|
24
|
-
Cocaine::CommandLine.runner = Cocaine::CommandLine::BackticksRunner.new
|
data/test-all.sh
CHANGED
@@ -3,6 +3,8 @@
|
|
3
3
|
# Run specs against all supported ruby and paperclip versions
|
4
4
|
# using RVM (http://rvm.io/)
|
5
5
|
|
6
|
+
set -e
|
7
|
+
|
6
8
|
# Load RVM into a shell session *as a function*
|
7
9
|
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
|
8
10
|
# First try to load from a user install
|
@@ -14,14 +16,14 @@ else
|
|
14
16
|
printf "ERROR: An RVM installation was not found.\n"
|
15
17
|
fi
|
16
18
|
|
17
|
-
|
19
|
+
# Keep in sync with .travis.yml
|
20
|
+
for ruby in '2.3.7' '2.4.4' '2.5.1'
|
18
21
|
do
|
19
|
-
rvm use $ruby
|
22
|
+
rvm use $ruby --fuzzy
|
20
23
|
gem install bundler --conservative --no-rdoc --no-ri
|
21
24
|
|
22
|
-
for
|
25
|
+
for gemfile in gemfiles/Gemfile.paperclip-*.x
|
23
26
|
do
|
24
|
-
gemfile="gemfiles/Gemfile.paperclip-${paperclip_version}.x"
|
25
27
|
bundle install --gemfile=$gemfile
|
26
28
|
BUNDLE_GEMFILE=$gemfile bundle exec rake
|
27
29
|
done
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paperclip-storage-ftp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sebastian Röbke
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-06-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: paperclip
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 4.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: sqlite3
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: coveralls
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
description: Allow Paperclip attachments to be stored on FTP servers
|
84
112
|
email:
|
85
113
|
- sebastian.roebke@xing.com
|
@@ -94,6 +122,8 @@ files:
|
|
94
122
|
- README.md
|
95
123
|
- Rakefile
|
96
124
|
- gemfiles/Gemfile.paperclip-4.x
|
125
|
+
- gemfiles/Gemfile.paperclip-5.x
|
126
|
+
- gemfiles/Gemfile.paperclip-6.x
|
97
127
|
- lib/paperclip/storage/ftp.rb
|
98
128
|
- lib/paperclip/storage/ftp/server.rb
|
99
129
|
- paperclip-storage-ftp.gemspec
|
@@ -157,7 +187,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
187
|
version: '0'
|
158
188
|
requirements: []
|
159
189
|
rubyforge_project:
|
160
|
-
rubygems_version: 2.
|
190
|
+
rubygems_version: 2.7.7
|
161
191
|
signing_key:
|
162
192
|
specification_version: 4
|
163
193
|
summary: Allow Paperclip attachments to be stored on FTP servers
|