paperclip-storage-ftp 1.2.7 → 1.2.8
Sign up to get free protection for your applications and to get access to all the features.
- 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
|