paperclip 5.1.0 → 5.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +17 -0
  3. data/.hound.yml +5 -16
  4. data/.travis.yml +14 -15
  5. data/Appraisals +3 -23
  6. data/Gemfile +1 -0
  7. data/NEWS +36 -1
  8. data/README.md +58 -10
  9. data/Rakefile +1 -1
  10. data/UPGRADING +1 -1
  11. data/features/step_definitions/attachment_steps.rb +6 -6
  12. data/features/step_definitions/rails_steps.rb +29 -22
  13. data/features/step_definitions/s3_steps.rb +1 -1
  14. data/features/support/env.rb +1 -0
  15. data/features/support/paths.rb +1 -1
  16. data/features/support/rails.rb +0 -24
  17. data/gemfiles/{4.2.awsv2.0.gemfile → 4.2.gemfile} +1 -1
  18. data/gemfiles/{5.0.awsv2.1.gemfile → 5.0.gemfile} +2 -2
  19. data/lib/paperclip.rb +12 -10
  20. data/lib/paperclip/attachment.rb +10 -4
  21. data/lib/paperclip/io_adapters/abstract_adapter.rb +24 -2
  22. data/lib/paperclip/io_adapters/attachment_adapter.rb +10 -5
  23. data/lib/paperclip/io_adapters/data_uri_adapter.rb +8 -8
  24. data/lib/paperclip/io_adapters/empty_string_adapter.rb +5 -4
  25. data/lib/paperclip/io_adapters/file_adapter.rb +12 -6
  26. data/lib/paperclip/io_adapters/http_url_proxy_adapter.rb +7 -7
  27. data/lib/paperclip/io_adapters/identity_adapter.rb +12 -6
  28. data/lib/paperclip/io_adapters/nil_adapter.rb +8 -5
  29. data/lib/paperclip/io_adapters/registry.rb +6 -2
  30. data/lib/paperclip/io_adapters/stringio_adapter.rb +9 -6
  31. data/lib/paperclip/io_adapters/uploaded_file_adapter.rb +9 -5
  32. data/lib/paperclip/io_adapters/uri_adapter.rb +13 -11
  33. data/lib/paperclip/storage/filesystem.rb +13 -2
  34. data/lib/paperclip/storage/fog.rb +7 -4
  35. data/lib/paperclip/storage/s3.rb +31 -3
  36. data/lib/paperclip/thumbnail.rb +14 -4
  37. data/lib/paperclip/version.rb +1 -1
  38. data/lib/tasks/paperclip.rake +17 -3
  39. data/paperclip.gemspec +3 -3
  40. data/spec/paperclip/attachment_spec.rb +39 -8
  41. data/spec/paperclip/io_adapters/abstract_adapter_spec.rb +44 -21
  42. data/spec/paperclip/io_adapters/attachment_adapter_spec.rb +6 -3
  43. data/spec/paperclip/io_adapters/data_uri_adapter_spec.rb +7 -1
  44. data/spec/paperclip/io_adapters/file_adapter_spec.rb +2 -2
  45. data/spec/paperclip/io_adapters/http_url_proxy_adapter_spec.rb +6 -1
  46. data/spec/paperclip/io_adapters/identity_adapter_spec.rb +1 -1
  47. data/spec/paperclip/io_adapters/registry_spec.rb +2 -2
  48. data/spec/paperclip/io_adapters/stringio_adapter_spec.rb +1 -1
  49. data/spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb +3 -3
  50. data/spec/paperclip/io_adapters/uri_adapter_spec.rb +6 -1
  51. data/spec/paperclip/storage/fog_spec.rb +16 -0
  52. data/spec/paperclip/storage/s3_live_spec.rb +12 -10
  53. data/spec/paperclip/storage/s3_spec.rb +85 -4
  54. data/spec/paperclip/tempfile_spec.rb +35 -0
  55. data/spec/paperclip/thumbnail_spec.rb +35 -32
  56. data/spec/spec_helper.rb +3 -1
  57. data/spec/support/assertions.rb +5 -1
  58. data/spec/support/conditional_filter_helper.rb +5 -0
  59. metadata +31 -135
  60. data/gemfiles/4.2.awsv2.1.gemfile +0 -17
  61. data/gemfiles/4.2.awsv2.gemfile +0 -20
  62. data/gemfiles/5.0.awsv2.0.gemfile +0 -17
  63. data/gemfiles/5.0.awsv2.gemfile +0 -20
@@ -22,7 +22,8 @@ FIXTURES_DIR = File.join(File.dirname(__FILE__), "fixtures")
22
22
  config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml'))
23
23
  ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
24
24
  ActiveRecord::Base.establish_connection(config['test'])
25
- unless ActiveRecord::VERSION::STRING < "4.2"
25
+ if ActiveRecord::VERSION::STRING >= "4.2" &&
26
+ ActiveRecord::VERSION::STRING < "5.0"
26
27
  ActiveRecord::Base.raise_in_transactional_callbacks = true
27
28
  end
28
29
  Paperclip.options[:logger] = ActiveRecord::Base.logger
@@ -38,6 +39,7 @@ RSpec.configure do |config|
38
39
  config.include TestData
39
40
  config.include Reporting
40
41
  config.extend VersionHelper
42
+ config.extend ConditionalFilterHelper
41
43
  config.mock_framework = :mocha
42
44
  config.before(:all) do
43
45
  rebuild_model
@@ -48,13 +48,16 @@ module Assertions
48
48
  end
49
49
 
50
50
  def assert_success_response(url)
51
+ url = "http:#{url}" unless url =~ /http/
51
52
  Net::HTTP.get_response(URI.parse(url)) do |response|
52
- assert_equal "200", response.code,
53
+ assert_equal "200",
54
+ response.code,
53
55
  "Expected HTTP response code 200, got #{response.code}"
54
56
  end
55
57
  end
56
58
 
57
59
  def assert_not_found_response(url)
60
+ url = "http:#{url}" unless url =~ /http/
58
61
  Net::HTTP.get_response(URI.parse(url)) do |response|
59
62
  assert_equal "404", response.code,
60
63
  "Expected HTTP response code 404, got #{response.code}"
@@ -62,6 +65,7 @@ module Assertions
62
65
  end
63
66
 
64
67
  def assert_forbidden_response(url)
68
+ url = "http:#{url}" unless url =~ /http/
65
69
  Net::HTTP.get_response(URI.parse(url)) do |response|
66
70
  assert_equal "403", response.code,
67
71
  "Expected HTTP response code 403, got #{response.code}"
@@ -0,0 +1,5 @@
1
+ module ConditionalFilterHelper
2
+ def aws_accelerate_available?
3
+ (Gem::Version.new(Aws::VERSION) >= Gem::Version.new("2.3.0"))
4
+ end
5
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paperclip
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.0
4
+ version: 5.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Yurek
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-19 00:00:00.000000000 Z
11
+ date: 2018-01-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -156,7 +156,7 @@ dependencies:
156
156
  requirements:
157
157
  - - ">="
158
158
  - !ruby/object:Gem::Version
159
- version: 2.0.34
159
+ version: 2.3.0
160
160
  - - "<"
161
161
  - !ruby/object:Gem::Version
162
162
  version: '3.0'
@@ -166,7 +166,7 @@ dependencies:
166
166
  requirements:
167
167
  - - ">="
168
168
  - !ruby/object:Gem::Version
169
- version: 2.0.34
169
+ version: 2.3.0
170
170
  - - "<"
171
171
  - !ruby/object:Gem::Version
172
172
  version: '3.0'
@@ -185,19 +185,33 @@ dependencies:
185
185
  - !ruby/object:Gem::Version
186
186
  version: '0'
187
187
  - !ruby/object:Gem::Dependency
188
- name: cucumber
188
+ name: cucumber-rails
189
189
  requirement: !ruby/object:Gem::Requirement
190
190
  requirements:
191
- - - "~>"
191
+ - - ">="
192
192
  - !ruby/object:Gem::Version
193
- version: 1.3.18
193
+ version: '0'
194
194
  type: :development
195
195
  prerelease: false
196
196
  version_requirements: !ruby/object:Gem::Requirement
197
197
  requirements:
198
- - - "~>"
198
+ - - ">="
199
199
  - !ruby/object:Gem::Version
200
- version: 1.3.18
200
+ version: '0'
201
+ - !ruby/object:Gem::Dependency
202
+ name: cucumber-expressions
203
+ requirement: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - '='
206
+ - !ruby/object:Gem::Version
207
+ version: 4.0.3
208
+ type: :development
209
+ prerelease: false
210
+ version_requirements: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - '='
213
+ - !ruby/object:Gem::Version
214
+ version: 4.0.3
201
215
  - !ruby/object:Gem::Dependency
202
216
  name: aruba
203
217
  requirement: !ruby/object:Gem::Requirement
@@ -338,20 +352,6 @@ dependencies:
338
352
  - - ">="
339
353
  - !ruby/object:Gem::Version
340
354
  version: '0'
341
- - !ruby/object:Gem::Dependency
342
- name: actionmailer
343
- requirement: !ruby/object:Gem::Requirement
344
- requirements:
345
- - - ">="
346
- - !ruby/object:Gem::Version
347
- version: 4.2.0
348
- type: :development
349
- prerelease: false
350
- version_requirements: !ruby/object:Gem::Requirement
351
- requirements:
352
- - - ">="
353
- - !ruby/object:Gem::Version
354
- version: 4.2.0
355
355
  - !ruby/object:Gem::Dependency
356
356
  name: generator_spec
357
357
  requirement: !ruby/object:Gem::Requirement
@@ -387,6 +387,7 @@ executables: []
387
387
  extensions: []
388
388
  extra_rdoc_files: []
389
389
  files:
390
+ - ".codeclimate.yml"
390
391
  - ".gitignore"
391
392
  - ".hound.yml"
392
393
  - ".rubocop.yml"
@@ -417,12 +418,8 @@ files:
417
418
  - features/support/paths.rb
418
419
  - features/support/rails.rb
419
420
  - features/support/selectors.rb
420
- - gemfiles/4.2.awsv2.0.gemfile
421
- - gemfiles/4.2.awsv2.1.gemfile
422
- - gemfiles/4.2.awsv2.gemfile
423
- - gemfiles/5.0.awsv2.0.gemfile
424
- - gemfiles/5.0.awsv2.1.gemfile
425
- - gemfiles/5.0.awsv2.gemfile
421
+ - gemfiles/4.2.gemfile
422
+ - gemfiles/5.0.gemfile
426
423
  - lib/generators/paperclip/USAGE
427
424
  - lib/generators/paperclip/paperclip_generator.rb
428
425
  - lib/generators/paperclip/templates/paperclip_migration.rb.erb
@@ -535,6 +532,7 @@ files:
535
532
  - spec/paperclip/storage/s3_spec.rb
536
533
  - spec/paperclip/style_spec.rb
537
534
  - spec/paperclip/tempfile_factory_spec.rb
535
+ - spec/paperclip/tempfile_spec.rb
538
536
  - spec/paperclip/thumbnail_spec.rb
539
537
  - spec/paperclip/url_generator_spec.rb
540
538
  - spec/paperclip/validators/attachment_content_type_validator_spec.rb
@@ -545,6 +543,7 @@ files:
545
543
  - spec/paperclip/validators_spec.rb
546
544
  - spec/spec_helper.rb
547
545
  - spec/support/assertions.rb
546
+ - spec/support/conditional_filter_helper.rb
548
547
  - spec/support/fake_model.rb
549
548
  - spec/support/fake_rails.rb
550
549
  - spec/support/fixtures/12k.png
@@ -580,7 +579,7 @@ licenses:
580
579
  metadata: {}
581
580
  post_install_message: |
582
581
  ##################################################
583
- # NOTE FOR UPGRADING FROM 4.3.0 OR EARLIER #
582
+ # NOTE FOR UPGRADING FROM 4.3.0 OR EARLIER #
584
583
  ##################################################
585
584
 
586
585
  Paperclip is now compatible with aws-sdk >= 2.0.0.
@@ -612,111 +611,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
612
611
  requirements:
613
612
  - ImageMagick
614
613
  rubyforge_project:
615
- rubygems_version: 2.5.1
614
+ rubygems_version: 2.6.13
616
615
  signing_key:
617
616
  specification_version: 4
618
617
  summary: File attachments as attributes for ActiveRecord
619
- test_files:
620
- - features/basic_integration.feature
621
- - features/migration.feature
622
- - features/rake_tasks.feature
623
- - features/step_definitions/attachment_steps.rb
624
- - features/step_definitions/html_steps.rb
625
- - features/step_definitions/rails_steps.rb
626
- - features/step_definitions/s3_steps.rb
627
- - features/step_definitions/web_steps.rb
628
- - features/support/env.rb
629
- - features/support/fakeweb.rb
630
- - features/support/file_helpers.rb
631
- - features/support/fixtures/boot_config.txt
632
- - features/support/fixtures/gemfile.txt
633
- - features/support/fixtures/preinitializer.txt
634
- - features/support/paths.rb
635
- - features/support/rails.rb
636
- - features/support/selectors.rb
637
- - spec/database.yml
638
- - spec/paperclip/attachment_definitions_spec.rb
639
- - spec/paperclip/attachment_processing_spec.rb
640
- - spec/paperclip/attachment_registry_spec.rb
641
- - spec/paperclip/attachment_spec.rb
642
- - spec/paperclip/content_type_detector_spec.rb
643
- - spec/paperclip/file_command_content_type_detector_spec.rb
644
- - spec/paperclip/filename_cleaner_spec.rb
645
- - spec/paperclip/geometry_detector_spec.rb
646
- - spec/paperclip/geometry_parser_spec.rb
647
- - spec/paperclip/geometry_spec.rb
648
- - spec/paperclip/glue_spec.rb
649
- - spec/paperclip/has_attached_file_spec.rb
650
- - spec/paperclip/integration_spec.rb
651
- - spec/paperclip/interpolations_spec.rb
652
- - spec/paperclip/io_adapters/abstract_adapter_spec.rb
653
- - spec/paperclip/io_adapters/attachment_adapter_spec.rb
654
- - spec/paperclip/io_adapters/data_uri_adapter_spec.rb
655
- - spec/paperclip/io_adapters/empty_string_adapter_spec.rb
656
- - spec/paperclip/io_adapters/file_adapter_spec.rb
657
- - spec/paperclip/io_adapters/http_url_proxy_adapter_spec.rb
658
- - spec/paperclip/io_adapters/identity_adapter_spec.rb
659
- - spec/paperclip/io_adapters/nil_adapter_spec.rb
660
- - spec/paperclip/io_adapters/registry_spec.rb
661
- - spec/paperclip/io_adapters/stringio_adapter_spec.rb
662
- - spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb
663
- - spec/paperclip/io_adapters/uri_adapter_spec.rb
664
- - spec/paperclip/matchers/have_attached_file_matcher_spec.rb
665
- - spec/paperclip/matchers/validate_attachment_content_type_matcher_spec.rb
666
- - spec/paperclip/matchers/validate_attachment_presence_matcher_spec.rb
667
- - spec/paperclip/matchers/validate_attachment_size_matcher_spec.rb
668
- - spec/paperclip/media_type_spoof_detector_spec.rb
669
- - spec/paperclip/meta_class_spec.rb
670
- - spec/paperclip/paperclip_missing_attachment_styles_spec.rb
671
- - spec/paperclip/paperclip_spec.rb
672
- - spec/paperclip/plural_cache_spec.rb
673
- - spec/paperclip/processor_helpers_spec.rb
674
- - spec/paperclip/processor_spec.rb
675
- - spec/paperclip/rails_environment_spec.rb
676
- - spec/paperclip/rake_spec.rb
677
- - spec/paperclip/schema_spec.rb
678
- - spec/paperclip/storage/filesystem_spec.rb
679
- - spec/paperclip/storage/fog_spec.rb
680
- - spec/paperclip/storage/s3_live_spec.rb
681
- - spec/paperclip/storage/s3_spec.rb
682
- - spec/paperclip/style_spec.rb
683
- - spec/paperclip/tempfile_factory_spec.rb
684
- - spec/paperclip/thumbnail_spec.rb
685
- - spec/paperclip/url_generator_spec.rb
686
- - spec/paperclip/validators/attachment_content_type_validator_spec.rb
687
- - spec/paperclip/validators/attachment_file_name_validator_spec.rb
688
- - spec/paperclip/validators/attachment_presence_validator_spec.rb
689
- - spec/paperclip/validators/attachment_size_validator_spec.rb
690
- - spec/paperclip/validators/media_type_spoof_detection_validator_spec.rb
691
- - spec/paperclip/validators_spec.rb
692
- - spec/spec_helper.rb
693
- - spec/support/assertions.rb
694
- - spec/support/fake_model.rb
695
- - spec/support/fake_rails.rb
696
- - spec/support/fixtures/12k.png
697
- - spec/support/fixtures/50x50.png
698
- - spec/support/fixtures/5k.png
699
- - spec/support/fixtures/animated
700
- - spec/support/fixtures/animated.gif
701
- - spec/support/fixtures/animated.unknown
702
- - spec/support/fixtures/bad.png
703
- - spec/support/fixtures/empty.html
704
- - spec/support/fixtures/empty.xlsx
705
- - spec/support/fixtures/fog.yml
706
- - spec/support/fixtures/rotated.jpg
707
- - spec/support/fixtures/s3.yml
708
- - spec/support/fixtures/spaced file.jpg
709
- - spec/support/fixtures/spaced file.png
710
- - spec/support/fixtures/text.txt
711
- - spec/support/fixtures/twopage.pdf
712
- - spec/support/fixtures/uppercase.PNG
713
- - spec/support/matchers/accept.rb
714
- - spec/support/matchers/exist.rb
715
- - spec/support/matchers/have_column.rb
716
- - spec/support/mock_attachment.rb
717
- - spec/support/mock_interpolator.rb
718
- - spec/support/mock_url_generator_builder.rb
719
- - spec/support/model_reconstruction.rb
720
- - spec/support/reporting.rb
721
- - spec/support/test_data.rb
722
- - spec/support/version_helper.rb
618
+ test_files: []
@@ -1,17 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "sqlite3", "~> 1.3.8", :platforms => :ruby
6
- gem "pry"
7
- gem "rails", "~> 4.2.0"
8
- gem "aws-sdk", "~> 2.1.0"
9
-
10
- group :development, :test do
11
- gem "activerecord-import"
12
- gem "mime-types", ">= 1.16", "< 4"
13
- gem "builder"
14
- gem "rubocop", :require => false
15
- end
16
-
17
- gemspec :path => "../"
@@ -1,20 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "sqlite3", "~> 1.3.8", :platforms => :ruby
6
- gem "jruby-openssl", :platforms => :jruby
7
- gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
8
- gem "rubysl", :platforms => :rbx
9
- gem "racc", :platforms => :rbx
10
- gem "pry"
11
- gem "rails", "~> 4.2.0"
12
- gem "aws-sdk", "~> 2.0"
13
-
14
- group :development, :test do
15
- gem "mime-types", "~> 1.16"
16
- gem "builder"
17
- gem "rubocop", :require => false
18
- end
19
-
20
- gemspec :path => "../"
@@ -1,17 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "sqlite3", "~> 1.3.8", :platforms => :ruby
6
- gem "pry"
7
- gem "rails", "5.0.0"
8
- gem "aws-sdk", "~> 2.0.0"
9
-
10
- group :development, :test do
11
- gem "activerecord-import"
12
- gem "mime-types", ">= 1.16", "< 4"
13
- gem "builder"
14
- gem "rubocop", :require => false
15
- end
16
-
17
- gemspec :path => "../"
@@ -1,20 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "https://rubygems.org"
4
-
5
- gem "sqlite3", "~> 1.3.8", :platforms => :ruby
6
- gem "jruby-openssl", :platforms => :jruby
7
- gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
8
- gem "rubysl", :platforms => :rbx
9
- gem "racc", :platforms => :rbx
10
- gem "pry"
11
- gem "rails", "~> 5.0.0"
12
- gem "aws-sdk", "~> 2.0"
13
-
14
- group :development, :test do
15
- gem "mime-types", "~> 1.16"
16
- gem "builder"
17
- gem "rubocop", :require => false
18
- end
19
-
20
- gemspec :path => "../"