jr-paperclip 8.0.1 → 8.0.3
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 +4 -4
- data/NEWS +9 -0
- data/lib/paperclip/thumbnail.rb +18 -15
- data/lib/paperclip/version.rb +1 -1
- metadata +3 -245
- data/.github/FUNDING.yml +0 -3
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -18
- data/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- data/.github/workflows/reviewdog.yml +0 -23
- data/.github/workflows/tests.yml +0 -56
- data/.gitignore +0 -19
- data/.qlty/.gitignore +0 -7
- data/.qlty/qlty.toml +0 -89
- data/Appraisals +0 -29
- data/Gemfile +0 -18
- data/bin/console +0 -11
- data/features/basic_integration.feature +0 -112
- data/features/migration.feature +0 -29
- data/features/rake_tasks.feature +0 -62
- data/features/step_definitions/attachment_steps.rb +0 -138
- data/features/step_definitions/html_steps.rb +0 -15
- data/features/step_definitions/rails_steps.rb +0 -271
- data/features/step_definitions/s3_steps.rb +0 -16
- data/features/step_definitions/web_steps.rb +0 -106
- data/features/support/env.rb +0 -12
- data/features/support/file_helpers.rb +0 -34
- data/features/support/fixtures/boot_config.txt +0 -15
- data/features/support/fixtures/gemfile.txt +0 -5
- data/features/support/fixtures/preinitializer.txt +0 -20
- data/features/support/paths.rb +0 -28
- data/features/support/rails.rb +0 -39
- data/features/support/selectors.rb +0 -19
- data/features/support/webmock_setup.rb +0 -8
- data/gemfiles/7.0.gemfile +0 -21
- data/gemfiles/7.1.gemfile +0 -21
- data/gemfiles/7.2.gemfile +0 -21
- data/gemfiles/8.0.gemfile +0 -21
- data/gemfiles/8.1.gemfile +0 -21
- data/paperclip.gemspec +0 -52
- data/spec/database.yml +0 -4
- data/spec/paperclip/attachment_definitions_spec.rb +0 -313
- data/spec/paperclip/attachment_processing_spec.rb +0 -79
- data/spec/paperclip/attachment_registry_spec.rb +0 -158
- data/spec/paperclip/attachment_spec.rb +0 -1617
- data/spec/paperclip/content_type_detector_spec.rb +0 -58
- data/spec/paperclip/file_command_content_type_detector_spec.rb +0 -40
- data/spec/paperclip/filename_cleaner_spec.rb +0 -13
- data/spec/paperclip/geometry_detector_spec.rb +0 -96
- data/spec/paperclip/geometry_parser_spec.rb +0 -73
- data/spec/paperclip/geometry_spec.rb +0 -270
- data/spec/paperclip/glue_spec.rb +0 -63
- data/spec/paperclip/has_attached_file_spec.rb +0 -78
- data/spec/paperclip/helpers_spec.rb +0 -49
- data/spec/paperclip/integration_spec.rb +0 -702
- data/spec/paperclip/interpolations_spec.rb +0 -270
- data/spec/paperclip/io_adapters/abstract_adapter_spec.rb +0 -160
- data/spec/paperclip/io_adapters/attachment_adapter_spec.rb +0 -167
- data/spec/paperclip/io_adapters/data_uri_adapter_spec.rb +0 -88
- data/spec/paperclip/io_adapters/empty_string_adapter_spec.rb +0 -17
- data/spec/paperclip/io_adapters/file_adapter_spec.rb +0 -134
- data/spec/paperclip/io_adapters/http_url_proxy_adapter_spec.rb +0 -142
- data/spec/paperclip/io_adapters/identity_adapter_spec.rb +0 -8
- data/spec/paperclip/io_adapters/nil_adapter_spec.rb +0 -25
- data/spec/paperclip/io_adapters/registry_spec.rb +0 -35
- data/spec/paperclip/io_adapters/stringio_adapter_spec.rb +0 -64
- data/spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb +0 -146
- data/spec/paperclip/io_adapters/uri_adapter_spec.rb +0 -231
- data/spec/paperclip/lazy_thumbnail_compatibility_spec.rb +0 -266
- data/spec/paperclip/matchers/have_attached_file_matcher_spec.rb +0 -19
- data/spec/paperclip/matchers/validate_attachment_content_type_matcher_spec.rb +0 -108
- data/spec/paperclip/matchers/validate_attachment_presence_matcher_spec.rb +0 -69
- data/spec/paperclip/matchers/validate_attachment_size_matcher_spec.rb +0 -88
- data/spec/paperclip/media_type_spoof_detector_spec.rb +0 -126
- data/spec/paperclip/meta_class_spec.rb +0 -30
- data/spec/paperclip/migration_guide_example_spec.rb +0 -44
- data/spec/paperclip/paperclip_missing_attachment_styles_spec.rb +0 -88
- data/spec/paperclip/paperclip_spec.rb +0 -196
- data/spec/paperclip/plural_cache_spec.rb +0 -37
- data/spec/paperclip/processor_helpers_spec.rb +0 -57
- data/spec/paperclip/processor_spec.rb +0 -60
- data/spec/paperclip/rails_environment_spec.rb +0 -30
- data/spec/paperclip/rake_spec.rb +0 -103
- data/spec/paperclip/schema_spec.rb +0 -298
- data/spec/paperclip/storage/filesystem_spec.rb +0 -102
- data/spec/paperclip/storage/fog_spec.rb +0 -606
- data/spec/paperclip/storage/s3_live_spec.rb +0 -188
- data/spec/paperclip/storage/s3_spec.rb +0 -1974
- data/spec/paperclip/style_spec.rb +0 -309
- data/spec/paperclip/tempfile_factory_spec.rb +0 -33
- data/spec/paperclip/tempfile_spec.rb +0 -35
- data/spec/paperclip/thumbnail_custom_options_spec.rb +0 -225
- data/spec/paperclip/thumbnail_loader_options_spec.rb +0 -53
- data/spec/paperclip/thumbnail_security_spec.rb +0 -42
- data/spec/paperclip/thumbnail_spec.rb +0 -1460
- data/spec/paperclip/url_generator_spec.rb +0 -231
- data/spec/paperclip/validators/attachment_content_type_validator_spec.rb +0 -410
- data/spec/paperclip/validators/attachment_file_name_validator_spec.rb +0 -249
- data/spec/paperclip/validators/attachment_presence_validator_spec.rb +0 -85
- data/spec/paperclip/validators/attachment_size_validator_spec.rb +0 -325
- data/spec/paperclip/validators/media_type_spoof_detection_validator_spec.rb +0 -48
- data/spec/paperclip/validators_spec.rb +0 -179
- data/spec/spec_helper.rb +0 -52
- data/spec/support/assertions.rb +0 -84
- data/spec/support/fake_model.rb +0 -24
- data/spec/support/fake_rails.rb +0 -12
- data/spec/support/fixtures/12k.png +0 -0
- data/spec/support/fixtures/50x50.png +0 -0
- data/spec/support/fixtures/5k.png +0 -0
- data/spec/support/fixtures/animated +0 -0
- data/spec/support/fixtures/animated.gif +0 -0
- data/spec/support/fixtures/animated.unknown +0 -0
- data/spec/support/fixtures/aws_s3.yml +0 -13
- data/spec/support/fixtures/bad.png +0 -1
- data/spec/support/fixtures/empty.html +0 -1
- data/spec/support/fixtures/empty.xlsx +0 -0
- data/spec/support/fixtures/fog.yml +0 -8
- data/spec/support/fixtures/rotated.jpg +0 -0
- data/spec/support/fixtures/s3.yml +0 -8
- data/spec/support/fixtures/sample.xlsm +0 -0
- data/spec/support/fixtures/spaced file.jpg +0 -0
- data/spec/support/fixtures/spaced file.png +0 -0
- data/spec/support/fixtures/text.txt +0 -1
- data/spec/support/fixtures/twopage.pdf +0 -0
- data/spec/support/fixtures/uppercase.PNG +0 -0
- data/spec/support/matchers/accept.rb +0 -5
- data/spec/support/matchers/exist.rb +0 -5
- data/spec/support/matchers/have_column.rb +0 -23
- data/spec/support/mock_attachment.rb +0 -24
- data/spec/support/mock_interpolator.rb +0 -24
- data/spec/support/mock_url_generator_builder.rb +0 -26
- data/spec/support/model_reconstruction.rb +0 -72
- data/spec/support/reporting.rb +0 -11
- data/spec/support/test_data.rb +0 -13
- data/spec/support/version_helper.rb +0 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 33e2d6c7454262f7f7dbd9f3f90e9f3a02d7ac8322dce12d2207fbb49394d47c
|
|
4
|
+
data.tar.gz: 3e5a22977575ff03ab26f09df063b2bad92d8dd615bf398aaa01eb626427188b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: defdf5784f3c2325a2b3b9c7748e30070ec2612a6d506d0c0b79c836eee1f851e5c35c61e44fead22572e11d444ea681ef9048c4efb6842d6b77feafb293deef
|
|
7
|
+
data.tar.gz: f74bf5b90c340259a3fc521913b943245c8802ba650dbff107ef77379c45ebb6ce558f0f83aec0a56e577a6f06d5e9755429204f12140afe6b5e55583c559294
|
data/NEWS
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
8.0.3 (2026-01-20)
|
|
2
|
+
|
|
3
|
+
* Improvement: Reduce gem package size by excluding non-runtime files
|
|
4
|
+
|
|
5
|
+
8.0.2 (2026-01-19)
|
|
6
|
+
|
|
7
|
+
* Performance: Optimized image thumbnail processing pipeline to handle EXIF orientation more efficiently when using vips backend.
|
|
8
|
+
* Bugix: Vips backend now uses copy_memory for operations that need random access.
|
|
9
|
+
|
|
1
10
|
8.0.1 (2026-01-19)
|
|
2
11
|
|
|
3
12
|
* Performance: Vips backend now uses sequential access by default for better memory efficiency.
|
data/lib/paperclip/thumbnail.rb
CHANGED
|
@@ -183,6 +183,15 @@ module Paperclip
|
|
|
183
183
|
def build_pipeline(source_path)
|
|
184
184
|
pipeline = image_processing_module.source(source_path)
|
|
185
185
|
|
|
186
|
+
# Auto-orient based on EXIF data
|
|
187
|
+
if auto_orient
|
|
188
|
+
if backend == :vips
|
|
189
|
+
pipeline = pipeline.loader(autorotate: true)
|
|
190
|
+
elsif backend == :image_magick
|
|
191
|
+
pipeline = pipeline.auto_orient
|
|
192
|
+
end
|
|
193
|
+
end
|
|
194
|
+
|
|
186
195
|
# For vips backend, default to sequential access for better memory efficiency.
|
|
187
196
|
# Sequential access streams the image from top to bottom, keeping only a few
|
|
188
197
|
# scanlines in memory. Users can override via source_file_options: { access: :random }
|
|
@@ -217,15 +226,6 @@ module Paperclip
|
|
|
217
226
|
end
|
|
218
227
|
end
|
|
219
228
|
|
|
220
|
-
# Auto-orient based on EXIF data
|
|
221
|
-
if auto_orient
|
|
222
|
-
pipeline = if backend == :vips
|
|
223
|
-
pipeline.autorot
|
|
224
|
-
else
|
|
225
|
-
pipeline.auto_orient
|
|
226
|
-
end
|
|
227
|
-
end
|
|
228
|
-
|
|
229
229
|
# Apply resize operation
|
|
230
230
|
if target_geometry
|
|
231
231
|
pipeline = apply_resize(pipeline)
|
|
@@ -474,13 +474,15 @@ module Paperclip
|
|
|
474
474
|
# Vips rotate via similarity for arbitrary angles
|
|
475
475
|
if value
|
|
476
476
|
angle = value.to_f
|
|
477
|
-
|
|
477
|
+
# Similarity requires random access (or memory copy) for non-trivial angles
|
|
478
|
+
pipeline.custom { |img| img.copy_memory.similarity(angle: angle) }
|
|
478
479
|
else
|
|
479
480
|
pipeline
|
|
480
481
|
end
|
|
481
482
|
when "flip"
|
|
482
483
|
# Vips uses flip with direction
|
|
483
|
-
|
|
484
|
+
# Vertical flip requires random access (needs full image)
|
|
485
|
+
pipeline.custom { |img| img.copy_memory.flipver }
|
|
484
486
|
when "flop"
|
|
485
487
|
pipeline.custom(&:fliphor)
|
|
486
488
|
when "blur", "gaussian_blur", "gaussblur"
|
|
@@ -511,14 +513,15 @@ module Paperclip
|
|
|
511
513
|
when "median"
|
|
512
514
|
value ? pipeline.median(value.to_i) : pipeline
|
|
513
515
|
when "rot90"
|
|
514
|
-
|
|
516
|
+
# Rotations change scanline order, requiring random access
|
|
517
|
+
pipeline.custom { |img| img.copy_memory.rot90 }
|
|
515
518
|
when "rot180"
|
|
516
|
-
pipeline.rot180
|
|
519
|
+
pipeline.custom { |img| img.copy_memory.rot180 }
|
|
517
520
|
when "rot270"
|
|
518
|
-
pipeline.rot270
|
|
521
|
+
pipeline.custom { |img| img.copy_memory.rot270 }
|
|
519
522
|
when "similarity"
|
|
520
523
|
# similarity for arbitrary rotation/scale
|
|
521
|
-
value ? pipeline.custom { |img| img.similarity(angle: value.to_f) } : pipeline
|
|
524
|
+
value ? pipeline.custom { |img| img.copy_memory.similarity(angle: value.to_f) } : pipeline
|
|
522
525
|
# Edge detection filters (no arguments)
|
|
523
526
|
when "canny"
|
|
524
527
|
pipeline.canny
|
data/lib/paperclip/version.rb
CHANGED
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: 8.0.
|
|
4
|
+
version: 8.0.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jukka Rautanen
|
|
@@ -382,23 +382,12 @@ dependencies:
|
|
|
382
382
|
description: Easy upload management for ActiveRecord
|
|
383
383
|
email:
|
|
384
384
|
- jukka.rautanen@gmail.com
|
|
385
|
-
executables:
|
|
386
|
-
- console
|
|
385
|
+
executables: []
|
|
387
386
|
extensions: []
|
|
388
387
|
extra_rdoc_files: []
|
|
389
388
|
files:
|
|
390
|
-
- ".github/FUNDING.yml"
|
|
391
|
-
- ".github/ISSUE_TEMPLATE/bug_report.md"
|
|
392
|
-
- ".github/ISSUE_TEMPLATE/feature_request.md"
|
|
393
|
-
- ".github/workflows/reviewdog.yml"
|
|
394
|
-
- ".github/workflows/tests.yml"
|
|
395
|
-
- ".gitignore"
|
|
396
|
-
- ".qlty/.gitignore"
|
|
397
|
-
- ".qlty/qlty.toml"
|
|
398
389
|
- ".rubocop.yml"
|
|
399
|
-
- Appraisals
|
|
400
390
|
- CONTRIBUTING.md
|
|
401
|
-
- Gemfile
|
|
402
391
|
- LICENSE
|
|
403
392
|
- NEWS
|
|
404
393
|
- README.md
|
|
@@ -406,29 +395,6 @@ files:
|
|
|
406
395
|
- Rakefile
|
|
407
396
|
- UPGRADING
|
|
408
397
|
- VIPS_MIGRATION_GUIDE.md
|
|
409
|
-
- bin/console
|
|
410
|
-
- features/basic_integration.feature
|
|
411
|
-
- features/migration.feature
|
|
412
|
-
- features/rake_tasks.feature
|
|
413
|
-
- features/step_definitions/attachment_steps.rb
|
|
414
|
-
- features/step_definitions/html_steps.rb
|
|
415
|
-
- features/step_definitions/rails_steps.rb
|
|
416
|
-
- features/step_definitions/s3_steps.rb
|
|
417
|
-
- features/step_definitions/web_steps.rb
|
|
418
|
-
- features/support/env.rb
|
|
419
|
-
- features/support/file_helpers.rb
|
|
420
|
-
- features/support/fixtures/boot_config.txt
|
|
421
|
-
- features/support/fixtures/gemfile.txt
|
|
422
|
-
- features/support/fixtures/preinitializer.txt
|
|
423
|
-
- features/support/paths.rb
|
|
424
|
-
- features/support/rails.rb
|
|
425
|
-
- features/support/selectors.rb
|
|
426
|
-
- features/support/webmock_setup.rb
|
|
427
|
-
- gemfiles/7.0.gemfile
|
|
428
|
-
- gemfiles/7.1.gemfile
|
|
429
|
-
- gemfiles/7.2.gemfile
|
|
430
|
-
- gemfiles/8.0.gemfile
|
|
431
|
-
- gemfiles/8.1.gemfile
|
|
432
398
|
- lib/generators/paperclip/USAGE
|
|
433
399
|
- lib/generators/paperclip/paperclip_generator.rb
|
|
434
400
|
- lib/generators/paperclip/templates/paperclip_migration.rb.erb
|
|
@@ -495,103 +461,7 @@ files:
|
|
|
495
461
|
- lib/paperclip/validators/media_type_spoof_detection_validator.rb
|
|
496
462
|
- lib/paperclip/version.rb
|
|
497
463
|
- lib/tasks/paperclip.rake
|
|
498
|
-
- paperclip.gemspec
|
|
499
464
|
- shoulda_macros/paperclip.rb
|
|
500
|
-
- spec/database.yml
|
|
501
|
-
- spec/paperclip/attachment_definitions_spec.rb
|
|
502
|
-
- spec/paperclip/attachment_processing_spec.rb
|
|
503
|
-
- spec/paperclip/attachment_registry_spec.rb
|
|
504
|
-
- spec/paperclip/attachment_spec.rb
|
|
505
|
-
- spec/paperclip/content_type_detector_spec.rb
|
|
506
|
-
- spec/paperclip/file_command_content_type_detector_spec.rb
|
|
507
|
-
- spec/paperclip/filename_cleaner_spec.rb
|
|
508
|
-
- spec/paperclip/geometry_detector_spec.rb
|
|
509
|
-
- spec/paperclip/geometry_parser_spec.rb
|
|
510
|
-
- spec/paperclip/geometry_spec.rb
|
|
511
|
-
- spec/paperclip/glue_spec.rb
|
|
512
|
-
- spec/paperclip/has_attached_file_spec.rb
|
|
513
|
-
- spec/paperclip/helpers_spec.rb
|
|
514
|
-
- spec/paperclip/integration_spec.rb
|
|
515
|
-
- spec/paperclip/interpolations_spec.rb
|
|
516
|
-
- spec/paperclip/io_adapters/abstract_adapter_spec.rb
|
|
517
|
-
- spec/paperclip/io_adapters/attachment_adapter_spec.rb
|
|
518
|
-
- spec/paperclip/io_adapters/data_uri_adapter_spec.rb
|
|
519
|
-
- spec/paperclip/io_adapters/empty_string_adapter_spec.rb
|
|
520
|
-
- spec/paperclip/io_adapters/file_adapter_spec.rb
|
|
521
|
-
- spec/paperclip/io_adapters/http_url_proxy_adapter_spec.rb
|
|
522
|
-
- spec/paperclip/io_adapters/identity_adapter_spec.rb
|
|
523
|
-
- spec/paperclip/io_adapters/nil_adapter_spec.rb
|
|
524
|
-
- spec/paperclip/io_adapters/registry_spec.rb
|
|
525
|
-
- spec/paperclip/io_adapters/stringio_adapter_spec.rb
|
|
526
|
-
- spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb
|
|
527
|
-
- spec/paperclip/io_adapters/uri_adapter_spec.rb
|
|
528
|
-
- spec/paperclip/lazy_thumbnail_compatibility_spec.rb
|
|
529
|
-
- spec/paperclip/matchers/have_attached_file_matcher_spec.rb
|
|
530
|
-
- spec/paperclip/matchers/validate_attachment_content_type_matcher_spec.rb
|
|
531
|
-
- spec/paperclip/matchers/validate_attachment_presence_matcher_spec.rb
|
|
532
|
-
- spec/paperclip/matchers/validate_attachment_size_matcher_spec.rb
|
|
533
|
-
- spec/paperclip/media_type_spoof_detector_spec.rb
|
|
534
|
-
- spec/paperclip/meta_class_spec.rb
|
|
535
|
-
- spec/paperclip/migration_guide_example_spec.rb
|
|
536
|
-
- spec/paperclip/paperclip_missing_attachment_styles_spec.rb
|
|
537
|
-
- spec/paperclip/paperclip_spec.rb
|
|
538
|
-
- spec/paperclip/plural_cache_spec.rb
|
|
539
|
-
- spec/paperclip/processor_helpers_spec.rb
|
|
540
|
-
- spec/paperclip/processor_spec.rb
|
|
541
|
-
- spec/paperclip/rails_environment_spec.rb
|
|
542
|
-
- spec/paperclip/rake_spec.rb
|
|
543
|
-
- spec/paperclip/schema_spec.rb
|
|
544
|
-
- spec/paperclip/storage/filesystem_spec.rb
|
|
545
|
-
- spec/paperclip/storage/fog_spec.rb
|
|
546
|
-
- spec/paperclip/storage/s3_live_spec.rb
|
|
547
|
-
- spec/paperclip/storage/s3_spec.rb
|
|
548
|
-
- spec/paperclip/style_spec.rb
|
|
549
|
-
- spec/paperclip/tempfile_factory_spec.rb
|
|
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
|
|
554
|
-
- spec/paperclip/thumbnail_spec.rb
|
|
555
|
-
- spec/paperclip/url_generator_spec.rb
|
|
556
|
-
- spec/paperclip/validators/attachment_content_type_validator_spec.rb
|
|
557
|
-
- spec/paperclip/validators/attachment_file_name_validator_spec.rb
|
|
558
|
-
- spec/paperclip/validators/attachment_presence_validator_spec.rb
|
|
559
|
-
- spec/paperclip/validators/attachment_size_validator_spec.rb
|
|
560
|
-
- spec/paperclip/validators/media_type_spoof_detection_validator_spec.rb
|
|
561
|
-
- spec/paperclip/validators_spec.rb
|
|
562
|
-
- spec/spec_helper.rb
|
|
563
|
-
- spec/support/assertions.rb
|
|
564
|
-
- spec/support/fake_model.rb
|
|
565
|
-
- spec/support/fake_rails.rb
|
|
566
|
-
- spec/support/fixtures/12k.png
|
|
567
|
-
- spec/support/fixtures/50x50.png
|
|
568
|
-
- spec/support/fixtures/5k.png
|
|
569
|
-
- spec/support/fixtures/animated
|
|
570
|
-
- spec/support/fixtures/animated.gif
|
|
571
|
-
- spec/support/fixtures/animated.unknown
|
|
572
|
-
- spec/support/fixtures/aws_s3.yml
|
|
573
|
-
- spec/support/fixtures/bad.png
|
|
574
|
-
- spec/support/fixtures/empty.html
|
|
575
|
-
- spec/support/fixtures/empty.xlsx
|
|
576
|
-
- spec/support/fixtures/fog.yml
|
|
577
|
-
- spec/support/fixtures/rotated.jpg
|
|
578
|
-
- spec/support/fixtures/s3.yml
|
|
579
|
-
- spec/support/fixtures/sample.xlsm
|
|
580
|
-
- spec/support/fixtures/spaced file.jpg
|
|
581
|
-
- spec/support/fixtures/spaced file.png
|
|
582
|
-
- spec/support/fixtures/text.txt
|
|
583
|
-
- spec/support/fixtures/twopage.pdf
|
|
584
|
-
- spec/support/fixtures/uppercase.PNG
|
|
585
|
-
- spec/support/matchers/accept.rb
|
|
586
|
-
- spec/support/matchers/exist.rb
|
|
587
|
-
- spec/support/matchers/have_column.rb
|
|
588
|
-
- spec/support/mock_attachment.rb
|
|
589
|
-
- spec/support/mock_interpolator.rb
|
|
590
|
-
- spec/support/mock_url_generator_builder.rb
|
|
591
|
-
- spec/support/model_reconstruction.rb
|
|
592
|
-
- spec/support/reporting.rb
|
|
593
|
-
- spec/support/test_data.rb
|
|
594
|
-
- spec/support/version_helper.rb
|
|
595
465
|
homepage: https://github.com/jukra/jr-paperclip
|
|
596
466
|
licenses:
|
|
597
467
|
- MIT
|
|
@@ -620,116 +490,4 @@ requirements:
|
|
|
620
490
|
rubygems_version: 3.7.0
|
|
621
491
|
specification_version: 4
|
|
622
492
|
summary: File attachments as attributes for ActiveRecord
|
|
623
|
-
test_files:
|
|
624
|
-
- features/basic_integration.feature
|
|
625
|
-
- features/migration.feature
|
|
626
|
-
- features/rake_tasks.feature
|
|
627
|
-
- features/step_definitions/attachment_steps.rb
|
|
628
|
-
- features/step_definitions/html_steps.rb
|
|
629
|
-
- features/step_definitions/rails_steps.rb
|
|
630
|
-
- features/step_definitions/s3_steps.rb
|
|
631
|
-
- features/step_definitions/web_steps.rb
|
|
632
|
-
- features/support/env.rb
|
|
633
|
-
- features/support/file_helpers.rb
|
|
634
|
-
- features/support/fixtures/boot_config.txt
|
|
635
|
-
- features/support/fixtures/gemfile.txt
|
|
636
|
-
- features/support/fixtures/preinitializer.txt
|
|
637
|
-
- features/support/paths.rb
|
|
638
|
-
- features/support/rails.rb
|
|
639
|
-
- features/support/selectors.rb
|
|
640
|
-
- features/support/webmock_setup.rb
|
|
641
|
-
- spec/database.yml
|
|
642
|
-
- spec/paperclip/attachment_definitions_spec.rb
|
|
643
|
-
- spec/paperclip/attachment_processing_spec.rb
|
|
644
|
-
- spec/paperclip/attachment_registry_spec.rb
|
|
645
|
-
- spec/paperclip/attachment_spec.rb
|
|
646
|
-
- spec/paperclip/content_type_detector_spec.rb
|
|
647
|
-
- spec/paperclip/file_command_content_type_detector_spec.rb
|
|
648
|
-
- spec/paperclip/filename_cleaner_spec.rb
|
|
649
|
-
- spec/paperclip/geometry_detector_spec.rb
|
|
650
|
-
- spec/paperclip/geometry_parser_spec.rb
|
|
651
|
-
- spec/paperclip/geometry_spec.rb
|
|
652
|
-
- spec/paperclip/glue_spec.rb
|
|
653
|
-
- spec/paperclip/has_attached_file_spec.rb
|
|
654
|
-
- spec/paperclip/helpers_spec.rb
|
|
655
|
-
- spec/paperclip/integration_spec.rb
|
|
656
|
-
- spec/paperclip/interpolations_spec.rb
|
|
657
|
-
- spec/paperclip/io_adapters/abstract_adapter_spec.rb
|
|
658
|
-
- spec/paperclip/io_adapters/attachment_adapter_spec.rb
|
|
659
|
-
- spec/paperclip/io_adapters/data_uri_adapter_spec.rb
|
|
660
|
-
- spec/paperclip/io_adapters/empty_string_adapter_spec.rb
|
|
661
|
-
- spec/paperclip/io_adapters/file_adapter_spec.rb
|
|
662
|
-
- spec/paperclip/io_adapters/http_url_proxy_adapter_spec.rb
|
|
663
|
-
- spec/paperclip/io_adapters/identity_adapter_spec.rb
|
|
664
|
-
- spec/paperclip/io_adapters/nil_adapter_spec.rb
|
|
665
|
-
- spec/paperclip/io_adapters/registry_spec.rb
|
|
666
|
-
- spec/paperclip/io_adapters/stringio_adapter_spec.rb
|
|
667
|
-
- spec/paperclip/io_adapters/uploaded_file_adapter_spec.rb
|
|
668
|
-
- spec/paperclip/io_adapters/uri_adapter_spec.rb
|
|
669
|
-
- spec/paperclip/lazy_thumbnail_compatibility_spec.rb
|
|
670
|
-
- spec/paperclip/matchers/have_attached_file_matcher_spec.rb
|
|
671
|
-
- spec/paperclip/matchers/validate_attachment_content_type_matcher_spec.rb
|
|
672
|
-
- spec/paperclip/matchers/validate_attachment_presence_matcher_spec.rb
|
|
673
|
-
- spec/paperclip/matchers/validate_attachment_size_matcher_spec.rb
|
|
674
|
-
- spec/paperclip/media_type_spoof_detector_spec.rb
|
|
675
|
-
- spec/paperclip/meta_class_spec.rb
|
|
676
|
-
- spec/paperclip/migration_guide_example_spec.rb
|
|
677
|
-
- spec/paperclip/paperclip_missing_attachment_styles_spec.rb
|
|
678
|
-
- spec/paperclip/paperclip_spec.rb
|
|
679
|
-
- spec/paperclip/plural_cache_spec.rb
|
|
680
|
-
- spec/paperclip/processor_helpers_spec.rb
|
|
681
|
-
- spec/paperclip/processor_spec.rb
|
|
682
|
-
- spec/paperclip/rails_environment_spec.rb
|
|
683
|
-
- spec/paperclip/rake_spec.rb
|
|
684
|
-
- spec/paperclip/schema_spec.rb
|
|
685
|
-
- spec/paperclip/storage/filesystem_spec.rb
|
|
686
|
-
- spec/paperclip/storage/fog_spec.rb
|
|
687
|
-
- spec/paperclip/storage/s3_live_spec.rb
|
|
688
|
-
- spec/paperclip/storage/s3_spec.rb
|
|
689
|
-
- spec/paperclip/style_spec.rb
|
|
690
|
-
- spec/paperclip/tempfile_factory_spec.rb
|
|
691
|
-
- spec/paperclip/tempfile_spec.rb
|
|
692
|
-
- spec/paperclip/thumbnail_custom_options_spec.rb
|
|
693
|
-
- spec/paperclip/thumbnail_loader_options_spec.rb
|
|
694
|
-
- spec/paperclip/thumbnail_security_spec.rb
|
|
695
|
-
- spec/paperclip/thumbnail_spec.rb
|
|
696
|
-
- spec/paperclip/url_generator_spec.rb
|
|
697
|
-
- spec/paperclip/validators/attachment_content_type_validator_spec.rb
|
|
698
|
-
- spec/paperclip/validators/attachment_file_name_validator_spec.rb
|
|
699
|
-
- spec/paperclip/validators/attachment_presence_validator_spec.rb
|
|
700
|
-
- spec/paperclip/validators/attachment_size_validator_spec.rb
|
|
701
|
-
- spec/paperclip/validators/media_type_spoof_detection_validator_spec.rb
|
|
702
|
-
- spec/paperclip/validators_spec.rb
|
|
703
|
-
- spec/spec_helper.rb
|
|
704
|
-
- spec/support/assertions.rb
|
|
705
|
-
- spec/support/fake_model.rb
|
|
706
|
-
- spec/support/fake_rails.rb
|
|
707
|
-
- spec/support/fixtures/12k.png
|
|
708
|
-
- spec/support/fixtures/50x50.png
|
|
709
|
-
- spec/support/fixtures/5k.png
|
|
710
|
-
- spec/support/fixtures/animated
|
|
711
|
-
- spec/support/fixtures/animated.gif
|
|
712
|
-
- spec/support/fixtures/animated.unknown
|
|
713
|
-
- spec/support/fixtures/aws_s3.yml
|
|
714
|
-
- spec/support/fixtures/bad.png
|
|
715
|
-
- spec/support/fixtures/empty.html
|
|
716
|
-
- spec/support/fixtures/empty.xlsx
|
|
717
|
-
- spec/support/fixtures/fog.yml
|
|
718
|
-
- spec/support/fixtures/rotated.jpg
|
|
719
|
-
- spec/support/fixtures/s3.yml
|
|
720
|
-
- spec/support/fixtures/sample.xlsm
|
|
721
|
-
- spec/support/fixtures/spaced file.jpg
|
|
722
|
-
- spec/support/fixtures/spaced file.png
|
|
723
|
-
- spec/support/fixtures/text.txt
|
|
724
|
-
- spec/support/fixtures/twopage.pdf
|
|
725
|
-
- spec/support/fixtures/uppercase.PNG
|
|
726
|
-
- spec/support/matchers/accept.rb
|
|
727
|
-
- spec/support/matchers/exist.rb
|
|
728
|
-
- spec/support/matchers/have_column.rb
|
|
729
|
-
- spec/support/mock_attachment.rb
|
|
730
|
-
- spec/support/mock_interpolator.rb
|
|
731
|
-
- spec/support/mock_url_generator_builder.rb
|
|
732
|
-
- spec/support/model_reconstruction.rb
|
|
733
|
-
- spec/support/reporting.rb
|
|
734
|
-
- spec/support/test_data.rb
|
|
735
|
-
- spec/support/version_helper.rb
|
|
493
|
+
test_files: []
|
data/.github/FUNDING.yml
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Bug report
|
|
3
|
-
about: Create a report to help us improve
|
|
4
|
-
title: ''
|
|
5
|
-
labels: ''
|
|
6
|
-
assignees: ''
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
Ruby version:
|
|
11
|
-
Rails version:
|
|
12
|
-
Paperclip version:
|
|
13
|
-
ImageMagick version:
|
|
14
|
-
libvips version:
|
|
15
|
-
|
|
16
|
-
Please include your initializer, Paperclip related options, and any error message with the full backtrace.
|
|
17
|
-
|
|
18
|
-
If you are using an old version, have you checked the changelogs to see if your issue has been fixed in a later version?
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: Feature request
|
|
3
|
-
about: Suggest an idea for this project
|
|
4
|
-
title: ''
|
|
5
|
-
labels: ''
|
|
6
|
-
assignees: ''
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
**Is your feature request related to a problem? Please describe.**
|
|
11
|
-
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
12
|
-
|
|
13
|
-
**Describe the solution you'd like**
|
|
14
|
-
A clear and concise description of what you want to happen.
|
|
15
|
-
|
|
16
|
-
**Describe alternatives you've considered**
|
|
17
|
-
A clear and concise description of any alternative solutions or features you've considered.
|
|
18
|
-
|
|
19
|
-
**Additional context**
|
|
20
|
-
Add any other context or screenshots about the feature request here.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
name: reviewdog
|
|
2
|
-
on:
|
|
3
|
-
pull_request:
|
|
4
|
-
permissions:
|
|
5
|
-
contents: read
|
|
6
|
-
pull-requests: write
|
|
7
|
-
jobs:
|
|
8
|
-
rubocop:
|
|
9
|
-
name: runner / rubocop
|
|
10
|
-
runs-on: ubuntu-latest
|
|
11
|
-
env:
|
|
12
|
-
BUNDLE_ONLY: development
|
|
13
|
-
steps:
|
|
14
|
-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
15
|
-
- uses: ruby/setup-ruby@1a615958ad9d422dd932dc1d5823942ee002799f # v1.227.0
|
|
16
|
-
with:
|
|
17
|
-
ruby-version: '3.3'
|
|
18
|
-
bundler-cache: true
|
|
19
|
-
- uses: reviewdog/action-rubocop@fcb74ba274da10b18d038d0bcddaae3518739634 # v2.21.2
|
|
20
|
-
with:
|
|
21
|
-
reporter: github-pr-review # Default is github-pr-check
|
|
22
|
-
skip_install: true
|
|
23
|
-
use_bundler: true
|
data/.github/workflows/tests.yml
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
name: Tests
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [master]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [master]
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
test:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
|
|
13
|
-
strategy:
|
|
14
|
-
fail-fast: false
|
|
15
|
-
matrix:
|
|
16
|
-
include:
|
|
17
|
-
- ruby: '3.0'
|
|
18
|
-
gemfile: gemfiles/7.0.gemfile
|
|
19
|
-
- ruby: '3.1'
|
|
20
|
-
gemfile: gemfiles/7.1.gemfile
|
|
21
|
-
- ruby: '3.2'
|
|
22
|
-
gemfile: gemfiles/7.2.gemfile
|
|
23
|
-
- ruby: '3.3'
|
|
24
|
-
gemfile: gemfiles/8.0.gemfile
|
|
25
|
-
- ruby: '3.4'
|
|
26
|
-
gemfile: gemfiles/7.2.gemfile
|
|
27
|
-
- ruby: '3.4'
|
|
28
|
-
gemfile: gemfiles/8.0.gemfile
|
|
29
|
-
- ruby: '3.4'
|
|
30
|
-
gemfile: gemfiles/8.1.gemfile
|
|
31
|
-
- ruby: '4.0'
|
|
32
|
-
gemfile: gemfiles/8.1.gemfile
|
|
33
|
-
|
|
34
|
-
env:
|
|
35
|
-
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
|
36
|
-
|
|
37
|
-
steps:
|
|
38
|
-
- uses: actions/checkout@v4
|
|
39
|
-
|
|
40
|
-
- name: Set up Ruby ${{ matrix.ruby }}
|
|
41
|
-
uses: ruby/setup-ruby@v1
|
|
42
|
-
with:
|
|
43
|
-
ruby-version: ${{ matrix.ruby }}
|
|
44
|
-
bundler-cache: true
|
|
45
|
-
|
|
46
|
-
- name: Install dependencies
|
|
47
|
-
run: |
|
|
48
|
-
sudo apt-get update
|
|
49
|
-
sudo apt-get install -y ghostscript imagemagick libvips libvips-tools
|
|
50
|
-
sudo rm -f /etc/ImageMagick-6/policy.xml
|
|
51
|
-
|
|
52
|
-
- name: Run tests
|
|
53
|
-
run: bundle exec rake spec
|
|
54
|
-
|
|
55
|
-
- name: Run cucumber
|
|
56
|
-
run: bundle exec rake cucumber
|
data/.gitignore
DELETED
data/.qlty/.gitignore
DELETED
data/.qlty/qlty.toml
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
# This file was automatically generated by `qlty init`.
|
|
2
|
-
# You can modify it to suit your needs.
|
|
3
|
-
# We recommend you to commit this file to your repository.
|
|
4
|
-
#
|
|
5
|
-
# This configuration is used by both Qlty CLI and Qlty Cloud.
|
|
6
|
-
#
|
|
7
|
-
# Qlty CLI -- Code quality toolkit for developers
|
|
8
|
-
# Qlty Cloud -- Fully automated Code Health Platform
|
|
9
|
-
#
|
|
10
|
-
# Try Qlty Cloud: https://qlty.sh
|
|
11
|
-
#
|
|
12
|
-
# For a guide to configuration, visit https://qlty.sh/d/config
|
|
13
|
-
# Or for a full reference, visit https://qlty.sh/d/qlty-toml
|
|
14
|
-
config_version = "0"
|
|
15
|
-
|
|
16
|
-
exclude_patterns = [
|
|
17
|
-
"*_min.*",
|
|
18
|
-
"*-min.*",
|
|
19
|
-
"*.min.*",
|
|
20
|
-
"**/.yarn/**",
|
|
21
|
-
"**/*.d.ts",
|
|
22
|
-
"**/assets/**",
|
|
23
|
-
"**/bower_components/**",
|
|
24
|
-
"**/build/**",
|
|
25
|
-
"**/cache/**",
|
|
26
|
-
"**/config/**",
|
|
27
|
-
"**/db/**",
|
|
28
|
-
"**/deps/**",
|
|
29
|
-
"**/dist/**",
|
|
30
|
-
"**/extern/**",
|
|
31
|
-
"**/external/**",
|
|
32
|
-
"**/generated/**",
|
|
33
|
-
"**/Godeps/**",
|
|
34
|
-
"**/gradlew/**",
|
|
35
|
-
"**/mvnw/**",
|
|
36
|
-
"**/node_modules/**",
|
|
37
|
-
"**/protos/**",
|
|
38
|
-
"**/seed/**",
|
|
39
|
-
"**/target/**",
|
|
40
|
-
"**/templates/**",
|
|
41
|
-
"**/testdata/**",
|
|
42
|
-
"**/vendor/**",
|
|
43
|
-
"features/**"
|
|
44
|
-
]
|
|
45
|
-
|
|
46
|
-
test_patterns = [
|
|
47
|
-
"**/test/**",
|
|
48
|
-
"**/spec/**",
|
|
49
|
-
"**/*.test.*",
|
|
50
|
-
"**/*.spec.*",
|
|
51
|
-
"**/*_test.*",
|
|
52
|
-
"**/*_spec.*",
|
|
53
|
-
"**/test_*.*",
|
|
54
|
-
"**/spec_*.*",
|
|
55
|
-
]
|
|
56
|
-
|
|
57
|
-
[smells]
|
|
58
|
-
mode = "comment"
|
|
59
|
-
|
|
60
|
-
[smells.boolean_logic]
|
|
61
|
-
threshold = 4
|
|
62
|
-
|
|
63
|
-
[smells.file_complexity]
|
|
64
|
-
threshold = 55
|
|
65
|
-
|
|
66
|
-
[smells.return_statements]
|
|
67
|
-
threshold = 4
|
|
68
|
-
|
|
69
|
-
[smells.nested_control_flow]
|
|
70
|
-
threshold = 4
|
|
71
|
-
|
|
72
|
-
[smells.function_parameters]
|
|
73
|
-
threshold = 4
|
|
74
|
-
|
|
75
|
-
[smells.function_complexity]
|
|
76
|
-
threshold = 5
|
|
77
|
-
|
|
78
|
-
[smells.duplication]
|
|
79
|
-
threshold = 22
|
|
80
|
-
|
|
81
|
-
[[source]]
|
|
82
|
-
name = "default"
|
|
83
|
-
default = true
|
|
84
|
-
|
|
85
|
-
[[plugin]]
|
|
86
|
-
name = "rubocop"
|
|
87
|
-
version = "1.81.7"
|
|
88
|
-
package_file = "Gemfile"
|
|
89
|
-
package_filters = ["rubocop"]
|
data/Appraisals
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
appraise "7.0" do
|
|
2
|
-
gem "sqlite3", "~> 1.4", platforms: :ruby
|
|
3
|
-
gem "aruba", "~> 2.0"
|
|
4
|
-
gem "rails", "~> 7.0.0"
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
appraise "7.1" do
|
|
8
|
-
gem "sqlite3", "~> 1.4", platforms: :ruby
|
|
9
|
-
gem "aruba", "~> 2.0"
|
|
10
|
-
gem "rails", "~> 7.1.0"
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
appraise "7.2" do
|
|
14
|
-
gem "sqlite3", "~> 2.0", platforms: :ruby
|
|
15
|
-
gem "aruba", "~> 2.0"
|
|
16
|
-
gem "rails", "~> 7.2.0"
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
appraise "8.0" do
|
|
20
|
-
gem "sqlite3", "~> 2.0", platforms: :ruby
|
|
21
|
-
gem "aruba", "~> 2.0"
|
|
22
|
-
gem "rails", "~> 8.0.0"
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
appraise "8.1" do
|
|
26
|
-
gem "sqlite3", "~> 2.0", platforms: :ruby
|
|
27
|
-
gem "aruba", "~> 2.0"
|
|
28
|
-
gem "rails", "~> 8.1.0"
|
|
29
|
-
end
|
data/Gemfile
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
source "https://rubygems.org"
|
|
2
|
-
|
|
3
|
-
gemspec
|
|
4
|
-
|
|
5
|
-
gem "pry"
|
|
6
|
-
|
|
7
|
-
# Hinting at development dependencies
|
|
8
|
-
# Prevents bundler from taking a long-time to resolve
|
|
9
|
-
group :development, :test do
|
|
10
|
-
gem "activerecord-import"
|
|
11
|
-
gem "bootsnap", require: false
|
|
12
|
-
gem "builder"
|
|
13
|
-
gem "image_processing", "~> 1.14"
|
|
14
|
-
gem "listen"
|
|
15
|
-
gem "rspec"
|
|
16
|
-
gem "rubocop", require: false
|
|
17
|
-
gem "rubocop-rails"
|
|
18
|
-
end
|