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 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