paperclip 5.1.0 → 5.2.0

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.
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 => "../"