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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: de0a8d8ea7ed9dc2328bf8c6b9d5ff9eaae40f35
4
- data.tar.gz: 7da4635ee11a19c26c051e4a5c23229efa00521a
2
+ SHA256:
3
+ metadata.gz: f8e3482435d4e8f14b4a7facab27ac44de03d12a32c95ec8af472a3cbace5091
4
+ data.tar.gz: e8952f378161c220a1d489b0362b5d18ca4495f19e1de90df284ed71f45c5b34
5
5
  SHA512:
6
- metadata.gz: 7947b3eb940d332765d567b71c6f548e5ed1ef8bdba0654801a46496981d7a8f8d89af5ff3803889192cc3ab2d6be29d200a1937c117942cbaf1e24531a49436
7
- data.tar.gz: 267ed5502e2193a0acc7357d64b6a33c501eac55fc35101046da96405ea0f1fb01b773c04961e494a8c3d2a2ea6225355f4dcad6555285f1b55dcceb3e300b44
6
+ metadata.gz: f19662f017a22c212eef62c6b47b68d29e258507bb9d0f4ba611c3c14c724e822b3ef0d2ff5aebb0742ce0573d025a30174a3631bc23a5e46c1fa12244d42704
7
+ data.tar.gz: 9af2f49b84b12427567d374e05c6b3c186874c18729f5c800142bf85c383f7e9746d5d6d60af9abec2aa0dd3db5614b04a58d6e4155759944648a99ac7ceeb11
@@ -1,12 +1,12 @@
1
1
  language: ruby
2
+ # Keep in sync with test-all.sh
2
3
  rvm:
3
- - 2.1
4
- - 2.2
5
- - jruby-19mode
4
+ - 2.3.7
5
+ - 2.4.4
6
+ - 2.5.1
6
7
  gemfile:
7
8
  - gemfiles/Gemfile.paperclip-4.x
8
- matrix:
9
- allow_failures:
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
@@ -0,0 +1,5 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec :path => '..'
4
+
5
+ gem "paperclip", "~>5.0"
@@ -0,0 +1,5 @@
1
+ source "http://rubygems.org"
2
+
3
+ gemspec :path => '..'
4
+
5
+ gem "paperclip", "~>6.0"
@@ -1,5 +1,5 @@
1
- require "paperclip"
2
1
  require "active_support/all"
2
+ require "paperclip"
3
3
  require "tempfile"
4
4
 
5
5
  require "paperclip/storage/ftp/server"
@@ -100,8 +100,15 @@ module Paperclip
100
100
 
101
101
  def mktree(tree, base = "/")
102
102
  return unless tree.any?
103
- list = connection.nlst(base)
104
- tree.reject{|k,_| list.include?(k)}.each do |directory, sub_directories|
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.7"
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
@@ -1,7 +1,10 @@
1
- begin
2
- require "coveralls"
3
- Coveralls.wear!
4
- rescue LoadError
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
@@ -1,7 +1,5 @@
1
1
  require "active_record"
2
2
 
3
- ActiveRecord::Base.raise_in_transactional_callbacks = true
4
-
5
3
  ActiveRecord::Base.establish_connection(
6
4
  :adapter => "sqlite3",
7
5
  :database => ":memory:"
@@ -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
- for ruby in '2.1' '2.2' 'jruby'
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 paperclip_version in 4
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.7
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: 2015-10-20 00:00:00.000000000 Z
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: '0'
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: '0'
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.4.8
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