shrine 3.5.0 → 3.7.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 (55) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -0
  3. data/doc/changing_derivatives.md +2 -1
  4. data/doc/changing_location.md +17 -5
  5. data/doc/getting_started.md +4 -2
  6. data/doc/plugins/derivation_endpoint.md +2 -1
  7. data/doc/plugins/derivatives.md +2 -1
  8. data/doc/plugins/download_endpoint.md +16 -4
  9. data/doc/plugins/refresh_metadata.md +20 -0
  10. data/doc/plugins/signature.md +8 -6
  11. data/doc/processing.md +5 -3
  12. data/doc/release_notes/3.6.0.md +23 -0
  13. data/doc/release_notes/3.7.0.md +75 -0
  14. data/doc/storage/s3.md +10 -0
  15. data/lib/shrine/attacher.rb +28 -21
  16. data/lib/shrine/attachment.rb +2 -2
  17. data/lib/shrine/plugins/_urlsafe_serialization.rb +4 -4
  18. data/lib/shrine/plugins/add_metadata.rb +2 -4
  19. data/lib/shrine/plugins/atomic_helpers.rb +7 -7
  20. data/lib/shrine/plugins/backgrounding.rb +9 -9
  21. data/lib/shrine/plugins/column.rb +6 -4
  22. data/lib/shrine/plugins/default_url.rb +4 -4
  23. data/lib/shrine/plugins/delete_raw.rb +2 -2
  24. data/lib/shrine/plugins/derivation_endpoint.rb +37 -34
  25. data/lib/shrine/plugins/derivatives.rb +5 -1
  26. data/lib/shrine/plugins/download_endpoint.rb +65 -11
  27. data/lib/shrine/plugins/entity.rb +7 -7
  28. data/lib/shrine/plugins/infer_extension.rb +1 -1
  29. data/lib/shrine/plugins/instrumentation.rb +8 -8
  30. data/lib/shrine/plugins/mirroring.rb +10 -10
  31. data/lib/shrine/plugins/model.rb +9 -9
  32. data/lib/shrine/plugins/presign_endpoint.rb +13 -10
  33. data/lib/shrine/plugins/pretty_location.rb +2 -2
  34. data/lib/shrine/plugins/processing.rb +3 -3
  35. data/lib/shrine/plugins/rack_file.rb +2 -2
  36. data/lib/shrine/plugins/rack_response.rb +10 -4
  37. data/lib/shrine/plugins/refresh_metadata.rb +6 -6
  38. data/lib/shrine/plugins/remote_url.rb +3 -3
  39. data/lib/shrine/plugins/restore_cached_data.rb +3 -3
  40. data/lib/shrine/plugins/signature.rb +2 -2
  41. data/lib/shrine/plugins/store_dimensions.rb +2 -2
  42. data/lib/shrine/plugins/upload_endpoint.rb +7 -5
  43. data/lib/shrine/plugins/upload_options.rb +1 -1
  44. data/lib/shrine/plugins/validation.rb +8 -8
  45. data/lib/shrine/plugins/versions.rb +10 -10
  46. data/lib/shrine/plugins.rb +6 -14
  47. data/lib/shrine/storage/file_system.rb +4 -17
  48. data/lib/shrine/storage/linter.rb +8 -8
  49. data/lib/shrine/storage/memory.rb +1 -3
  50. data/lib/shrine/storage/s3.rb +53 -38
  51. data/lib/shrine/uploaded_file.rb +21 -18
  52. data/lib/shrine/version.rb +1 -1
  53. data/lib/shrine.rb +18 -18
  54. data/shrine.gemspec +8 -8
  55. metadata +31 -26
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shrine
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 3.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Janko Marohnić
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-07-07 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: down
@@ -58,14 +57,14 @@ dependencies:
58
57
  requirements:
59
58
  - - "~>"
60
59
  - !ruby/object:Gem::Version
61
- version: '5.8'
60
+ version: '6.0'
62
61
  type: :development
63
62
  prerelease: false
64
63
  version_requirements: !ruby/object:Gem::Requirement
65
64
  requirements:
66
65
  - - "~>"
67
66
  - !ruby/object:Gem::Version
68
- version: '5.8'
67
+ version: '6.0'
69
68
  - !ruby/object:Gem::Dependency
70
69
  name: mocha
71
70
  requirement: !ruby/object:Gem::Requirement
@@ -84,16 +83,22 @@ dependencies:
84
83
  name: rack
85
84
  requirement: !ruby/object:Gem::Requirement
86
85
  requirements:
87
- - - "~>"
86
+ - - ">="
88
87
  - !ruby/object:Gem::Version
89
- version: '2.0'
88
+ version: '2'
89
+ - - "<"
90
+ - !ruby/object:Gem::Version
91
+ version: '4'
90
92
  type: :development
91
93
  prerelease: false
92
94
  version_requirements: !ruby/object:Gem::Requirement
93
95
  requirements:
94
- - - "~>"
96
+ - - ">="
95
97
  - !ruby/object:Gem::Version
96
- version: '2.0'
98
+ version: '2'
99
+ - - "<"
100
+ - !ruby/object:Gem::Version
101
+ version: '4'
97
102
  - !ruby/object:Gem::Dependency
98
103
  name: http-form_data
99
104
  requirement: !ruby/object:Gem::Requirement
@@ -109,19 +114,19 @@ dependencies:
109
114
  - !ruby/object:Gem::Version
110
115
  version: '2.2'
111
116
  - !ruby/object:Gem::Dependency
112
- name: rack-test_app
117
+ name: rack-test
113
118
  requirement: !ruby/object:Gem::Requirement
114
119
  requirements:
115
- - - ">="
120
+ - - "~>"
116
121
  - !ruby/object:Gem::Version
117
- version: '0'
122
+ version: '2.1'
118
123
  type: :development
119
124
  prerelease: false
120
125
  version_requirements: !ruby/object:Gem::Requirement
121
126
  requirements:
122
- - - ">="
127
+ - - "~>"
123
128
  - !ruby/object:Gem::Version
124
- version: '0'
129
+ version: '2.1'
125
130
  - !ruby/object:Gem::Dependency
126
131
  name: mimemagic
127
132
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +217,14 @@ dependencies:
212
217
  requirements:
213
218
  - - "~>"
214
219
  - !ruby/object:Gem::Version
215
- version: '4.0'
220
+ version: '5.0'
216
221
  type: :development
217
222
  prerelease: false
218
223
  version_requirements: !ruby/object:Gem::Requirement
219
224
  requirements:
220
225
  - - "~>"
221
226
  - !ruby/object:Gem::Version
222
- version: '4.0'
227
+ version: '5.0'
223
228
  - !ruby/object:Gem::Dependency
224
229
  name: ruby-vips
225
230
  requirement: !ruby/object:Gem::Requirement
@@ -296,14 +301,14 @@ dependencies:
296
301
  requirements:
297
302
  - - "~>"
298
303
  - !ruby/object:Gem::Version
299
- version: '7.0'
304
+ version: '8.1'
300
305
  type: :development
301
306
  prerelease: false
302
307
  version_requirements: !ruby/object:Gem::Requirement
303
308
  requirements:
304
309
  - - "~>"
305
310
  - !ruby/object:Gem::Version
306
- version: '7.0'
311
+ version: '8.1'
307
312
  - !ruby/object:Gem::Dependency
308
313
  name: sequel
309
314
  requirement: !ruby/object:Gem::Requirement
@@ -324,28 +329,28 @@ dependencies:
324
329
  requirements:
325
330
  - - "~>"
326
331
  - !ruby/object:Gem::Version
327
- version: '7.0'
332
+ version: '8.1'
328
333
  type: :development
329
334
  prerelease: false
330
335
  version_requirements: !ruby/object:Gem::Requirement
331
336
  requirements:
332
337
  - - "~>"
333
338
  - !ruby/object:Gem::Version
334
- version: '7.0'
339
+ version: '8.1'
335
340
  - !ruby/object:Gem::Dependency
336
341
  name: sqlite3
337
342
  requirement: !ruby/object:Gem::Requirement
338
343
  requirements:
339
344
  - - "~>"
340
345
  - !ruby/object:Gem::Version
341
- version: '1.4'
346
+ version: '2.1'
342
347
  type: :development
343
348
  prerelease: false
344
349
  version_requirements: !ruby/object:Gem::Requirement
345
350
  requirements:
346
351
  - - "~>"
347
352
  - !ruby/object:Gem::Version
348
- version: '1.4'
353
+ version: '2.1'
349
354
  description: |
350
355
  Shrine is a toolkit for file attachments in Ruby applications. It supports
351
356
  uploading, downloading, processing and deleting IO objects, backed by various
@@ -475,6 +480,8 @@ files:
475
480
  - doc/release_notes/3.3.0.md
476
481
  - doc/release_notes/3.4.0.md
477
482
  - doc/release_notes/3.5.0.md
483
+ - doc/release_notes/3.6.0.md
484
+ - doc/release_notes/3.7.0.md
478
485
  - doc/retrieving_uploads.md
479
486
  - doc/securing_uploads.md
480
487
  - doc/storage/file_system.md
@@ -554,7 +561,6 @@ metadata:
554
561
  documentation_uri: https://shrinerb.com
555
562
  mailing_list_uri: https://discourse.shrinerb.com
556
563
  source_code_uri: https://github.com/shrinerb/shrine
557
- post_install_message:
558
564
  rdoc_options: []
559
565
  require_paths:
560
566
  - lib
@@ -562,15 +568,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
562
568
  requirements:
563
569
  - - ">="
564
570
  - !ruby/object:Gem::Version
565
- version: '2.3'
571
+ version: '3.2'
566
572
  required_rubygems_version: !ruby/object:Gem::Requirement
567
573
  requirements:
568
574
  - - ">="
569
575
  - !ruby/object:Gem::Version
570
576
  version: '0'
571
577
  requirements: []
572
- rubygems_version: 3.4.12
573
- signing_key:
578
+ rubygems_version: 4.0.3
574
579
  specification_version: 4
575
580
  summary: Toolkit for file attachments in Ruby applications
576
581
  test_files: []