jr-paperclip 7.3.1 → 8.0.0.beta.1

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/tests.yml +3 -1
  3. data/CONTRIBUTING.md +1 -1
  4. data/Gemfile +1 -0
  5. data/NEWS +13 -0
  6. data/README.md +116 -6
  7. data/UPGRADING +5 -0
  8. data/VIPS_MIGRATION_GUIDE.md +131 -0
  9. data/features/basic_integration.feature +27 -0
  10. data/features/step_definitions/attachment_steps.rb +17 -0
  11. data/gemfiles/7.0.gemfile +1 -0
  12. data/gemfiles/7.1.gemfile +1 -0
  13. data/gemfiles/7.2.gemfile +1 -0
  14. data/gemfiles/8.0.gemfile +1 -0
  15. data/gemfiles/8.1.gemfile +1 -0
  16. data/lib/paperclip/attachment.rb +3 -2
  17. data/lib/paperclip/errors.rb +4 -5
  18. data/lib/paperclip/geometry.rb +3 -3
  19. data/lib/paperclip/geometry_detector_factory.rb +52 -12
  20. data/lib/paperclip/helpers.rb +18 -0
  21. data/lib/paperclip/processor.rb +36 -4
  22. data/lib/paperclip/thumbnail.rb +568 -62
  23. data/lib/paperclip/version.rb +1 -1
  24. data/lib/paperclip.rb +26 -9
  25. data/paperclip.gemspec +2 -1
  26. data/spec/paperclip/attachment_definitions_spec.rb +300 -0
  27. data/spec/paperclip/attachment_spec.rb +1 -1
  28. data/spec/paperclip/geometry_detector_spec.rb +81 -32
  29. data/spec/paperclip/geometry_spec.rb +8 -5
  30. data/spec/paperclip/helpers_spec.rb +49 -0
  31. data/spec/paperclip/lazy_thumbnail_compatibility_spec.rb +266 -0
  32. data/spec/paperclip/processor_spec.rb +35 -1
  33. data/spec/paperclip/style_spec.rb +58 -0
  34. data/spec/paperclip/thumbnail_custom_options_spec.rb +173 -0
  35. data/spec/paperclip/thumbnail_loader_options_spec.rb +53 -0
  36. data/spec/paperclip/thumbnail_security_spec.rb +42 -0
  37. data/spec/paperclip/thumbnail_spec.rb +1127 -172
  38. metadata +34 -2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jr-paperclip
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.3.1
4
+ version: 8.0.0.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jukka Rautanen
@@ -37,6 +37,20 @@ dependencies:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: 7.0.0
40
+ - !ruby/object:Gem::Dependency
41
+ name: image_processing
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '1.14'
47
+ type: :runtime
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.14'
40
54
  - !ruby/object:Gem::Dependency
41
55
  name: marcel
42
56
  requirement: !ruby/object:Gem::Requirement
@@ -391,6 +405,8 @@ files:
391
405
  - README.md
392
406
  - RELEASING.md
393
407
  - Rakefile
408
+ - UPGRADING
409
+ - VIPS_MIGRATION_GUIDE.md
394
410
  - bin/console
395
411
  - features/basic_integration.feature
396
412
  - features/migration.feature
@@ -495,6 +511,7 @@ files:
495
511
  - spec/paperclip/geometry_spec.rb
496
512
  - spec/paperclip/glue_spec.rb
497
513
  - spec/paperclip/has_attached_file_spec.rb
514
+ - spec/paperclip/helpers_spec.rb
498
515
  - spec/paperclip/integration_spec.rb
499
516
  - spec/paperclip/interpolations_spec.rb
500
517
  - spec/paperclip/io_adapters/abstract_adapter_spec.rb
@@ -509,6 +526,7 @@ files:
509
526
  - spec/paperclip/io_adapters/stringio_adapter_spec.rb
510
527
  - spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb
511
528
  - spec/paperclip/io_adapters/uri_adapter_spec.rb
529
+ - spec/paperclip/lazy_thumbnail_compatibility_spec.rb
512
530
  - spec/paperclip/matchers/have_attached_file_matcher_spec.rb
513
531
  - spec/paperclip/matchers/validate_attachment_content_type_matcher_spec.rb
514
532
  - spec/paperclip/matchers/validate_attachment_presence_matcher_spec.rb
@@ -530,6 +548,9 @@ files:
530
548
  - spec/paperclip/style_spec.rb
531
549
  - spec/paperclip/tempfile_factory_spec.rb
532
550
  - spec/paperclip/tempfile_spec.rb
551
+ - spec/paperclip/thumbnail_custom_options_spec.rb
552
+ - spec/paperclip/thumbnail_loader_options_spec.rb
553
+ - spec/paperclip/thumbnail_security_spec.rb
533
554
  - spec/paperclip/thumbnail_spec.rb
534
555
  - spec/paperclip/url_generator_spec.rb
535
556
  - spec/paperclip/validators/attachment_content_type_validator_spec.rb
@@ -575,6 +596,12 @@ homepage: https://github.com/jukra/jr-paperclip
575
596
  licenses:
576
597
  - MIT
577
598
  metadata: {}
599
+ post_install_message: |-
600
+ jr-paperclip – HEADS UP (major changes)
601
+
602
+ This version adds libvips support as a high-performance alternative to ImageMagick.
603
+ It also introduces ImageMagick 7 compatibility and updates geometry detection behavior.
604
+ For migration instructions and details, see README.md and VIPS_MIGRATION_GUIDE.md.
578
605
  rdoc_options: []
579
606
  require_paths:
580
607
  - lib
@@ -589,7 +616,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
589
616
  - !ruby/object:Gem::Version
590
617
  version: '0'
591
618
  requirements:
592
- - ImageMagick
619
+ - ImageMagick or libvips
593
620
  rubygems_version: 3.7.0
594
621
  specification_version: 4
595
622
  summary: File attachments as attributes for ActiveRecord
@@ -624,6 +651,7 @@ test_files:
624
651
  - spec/paperclip/geometry_spec.rb
625
652
  - spec/paperclip/glue_spec.rb
626
653
  - spec/paperclip/has_attached_file_spec.rb
654
+ - spec/paperclip/helpers_spec.rb
627
655
  - spec/paperclip/integration_spec.rb
628
656
  - spec/paperclip/interpolations_spec.rb
629
657
  - spec/paperclip/io_adapters/abstract_adapter_spec.rb
@@ -638,6 +666,7 @@ test_files:
638
666
  - spec/paperclip/io_adapters/stringio_adapter_spec.rb
639
667
  - spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb
640
668
  - spec/paperclip/io_adapters/uri_adapter_spec.rb
669
+ - spec/paperclip/lazy_thumbnail_compatibility_spec.rb
641
670
  - spec/paperclip/matchers/have_attached_file_matcher_spec.rb
642
671
  - spec/paperclip/matchers/validate_attachment_content_type_matcher_spec.rb
643
672
  - spec/paperclip/matchers/validate_attachment_presence_matcher_spec.rb
@@ -659,6 +688,9 @@ test_files:
659
688
  - spec/paperclip/style_spec.rb
660
689
  - spec/paperclip/tempfile_factory_spec.rb
661
690
  - spec/paperclip/tempfile_spec.rb
691
+ - spec/paperclip/thumbnail_custom_options_spec.rb
692
+ - spec/paperclip/thumbnail_loader_options_spec.rb
693
+ - spec/paperclip/thumbnail_security_spec.rb
662
694
  - spec/paperclip/thumbnail_spec.rb
663
695
  - spec/paperclip/url_generator_spec.rb
664
696
  - spec/paperclip/validators/attachment_content_type_validator_spec.rb