shrine 3.0.0.rc → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of shrine might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -66
- data/README.md +39 -1061
- data/doc/advantages.md +151 -148
- data/doc/attacher.md +12 -30
- data/doc/carrierwave.md +150 -115
- data/doc/changing_derivatives.md +5 -11
- data/doc/changing_location.md +8 -5
- data/doc/changing_storage.md +5 -2
- data/doc/creating_persistence_plugins.md +9 -6
- data/doc/creating_plugins.md +42 -22
- data/doc/creating_storages.md +4 -1
- data/doc/design.md +7 -5
- data/doc/direct_s3.md +9 -4
- data/doc/external/articles.md +50 -0
- data/doc/external/extensions.md +46 -0
- data/doc/external/misc.md +17 -0
- data/doc/getting_started.md +1038 -0
- data/doc/metadata.md +5 -3
- data/doc/multiple_files.md +55 -29
- data/doc/paperclip.md +206 -163
- data/doc/plugins/activerecord.md +26 -6
- data/doc/plugins/add_metadata.md +4 -2
- data/doc/plugins/atomic_helpers.md +4 -2
- data/doc/plugins/backgrounding.md +83 -44
- data/doc/plugins/cached_attachment_data.md +4 -2
- data/doc/plugins/column.md +4 -2
- data/doc/plugins/data_uri.md +10 -6
- data/doc/plugins/default_storage.md +5 -3
- data/doc/plugins/default_url.md +4 -2
- data/doc/plugins/delete_raw.md +4 -2
- data/doc/plugins/derivation_endpoint.md +63 -39
- data/doc/plugins/derivatives.md +13 -50
- data/doc/plugins/determine_mime_type.md +6 -4
- data/doc/plugins/download_endpoint.md +6 -3
- data/doc/plugins/dynamic_storage.md +4 -2
- data/doc/plugins/entity.md +6 -4
- data/doc/plugins/form_assign.md +4 -2
- data/doc/plugins/included.md +4 -2
- data/doc/plugins/infer_extension.md +6 -4
- data/doc/plugins/instrumentation.md +5 -3
- data/doc/plugins/keep_files.md +9 -2
- data/doc/plugins/metadata_attributes.md +5 -3
- data/doc/plugins/mirroring.md +4 -2
- data/doc/plugins/model.md +6 -4
- data/doc/plugins/module_include.md +4 -2
- data/doc/plugins/multi_cache.md +4 -2
- data/doc/plugins/persistence.md +5 -3
- data/doc/plugins/presign_endpoint.md +6 -2
- data/doc/plugins/pretty_location.md +5 -3
- data/doc/plugins/processing.md +4 -2
- data/doc/plugins/rack_file.md +8 -2
- data/doc/plugins/rack_response.md +6 -2
- data/doc/plugins/recache.md +4 -2
- data/doc/plugins/refresh_metadata.md +5 -3
- data/doc/plugins/remote_url.md +26 -5
- data/doc/plugins/remove_attachment.md +4 -2
- data/doc/plugins/remove_invalid.md +10 -2
- data/doc/plugins/restore_cached_data.md +9 -3
- data/doc/plugins/sequel.md +26 -6
- data/doc/plugins/signature.md +6 -4
- data/doc/plugins/store_dimensions.md +6 -4
- data/doc/plugins/tempfile.md +4 -2
- data/doc/plugins/upload_endpoint.md +6 -2
- data/doc/plugins/upload_options.md +6 -4
- data/doc/plugins/url_options.md +4 -2
- data/doc/plugins/validation.md +7 -3
- data/doc/plugins/validation_helpers.md +13 -10
- data/doc/plugins/versions.md +4 -8
- data/doc/processing.md +27 -9
- data/doc/refile.md +119 -127
- data/doc/release_notes/1.0.0.md +4 -0
- data/doc/release_notes/1.1.0.md +4 -0
- data/doc/release_notes/1.2.0.md +4 -0
- data/doc/release_notes/1.3.0.md +4 -0
- data/doc/release_notes/1.4.0.md +4 -0
- data/doc/release_notes/1.4.1.md +4 -0
- data/doc/release_notes/1.4.2.md +4 -0
- data/doc/release_notes/2.0.0.md +4 -0
- data/doc/release_notes/2.0.1.md +4 -0
- data/doc/release_notes/2.1.0.md +4 -0
- data/doc/release_notes/2.1.1.md +4 -0
- data/doc/release_notes/2.10.0.md +4 -0
- data/doc/release_notes/2.10.1.md +4 -0
- data/doc/release_notes/2.11.0.md +4 -0
- data/doc/release_notes/2.12.0.md +4 -0
- data/doc/release_notes/2.13.0.md +4 -0
- data/doc/release_notes/2.14.0.md +5 -1
- data/doc/release_notes/2.15.0.md +10 -6
- data/doc/release_notes/2.16.0.md +4 -0
- data/doc/release_notes/2.17.0.md +4 -0
- data/doc/release_notes/2.18.0.md +4 -0
- data/doc/release_notes/2.19.0.md +7 -4
- data/doc/release_notes/2.2.0.md +4 -0
- data/doc/release_notes/2.3.0.md +4 -0
- data/doc/release_notes/2.3.1.md +4 -0
- data/doc/release_notes/2.4.0.md +4 -0
- data/doc/release_notes/2.4.1.md +4 -0
- data/doc/release_notes/2.5.0.md +4 -0
- data/doc/release_notes/2.6.0.md +4 -0
- data/doc/release_notes/2.6.1.md +4 -0
- data/doc/release_notes/2.7.0.md +4 -0
- data/doc/release_notes/2.8.0.md +4 -0
- data/doc/release_notes/2.9.0.md +4 -0
- data/doc/release_notes/3.0.0.md +120 -38
- data/doc/retrieving_uploads.md +4 -1
- data/doc/securing_uploads.md +4 -1
- data/doc/storage/file_system.md +12 -4
- data/doc/storage/s3.md +4 -2
- data/doc/testing.md +27 -41
- data/doc/upgrading_to_3.md +105 -26
- data/doc/validation.md +8 -6
- data/lib/shrine/attacher.rb +2 -2
- data/lib/shrine/attachment.rb +7 -10
- data/lib/shrine/plugins/activerecord.rb +10 -10
- data/lib/shrine/plugins/add_metadata.rb +1 -3
- data/lib/shrine/plugins/atomic_helpers.rb +6 -8
- data/lib/shrine/plugins/backgrounding.rb +4 -6
- data/lib/shrine/plugins/cached_attachment_data.rb +1 -3
- data/lib/shrine/plugins/column.rb +2 -4
- data/lib/shrine/plugins/data_uri.rb +1 -3
- data/lib/shrine/plugins/default_storage.rb +1 -3
- data/lib/shrine/plugins/default_url.rb +1 -3
- data/lib/shrine/plugins/delete_raw.rb +1 -3
- data/lib/shrine/plugins/derivation_endpoint.rb +3 -4
- data/lib/shrine/plugins/derivatives.rb +2 -4
- data/lib/shrine/plugins/determine_mime_type.rb +1 -3
- data/lib/shrine/plugins/download_endpoint.rb +1 -3
- data/lib/shrine/plugins/dynamic_storage.rb +1 -3
- data/lib/shrine/plugins/entity.rb +25 -9
- data/lib/shrine/plugins/form_assign.rb +1 -3
- data/lib/shrine/plugins/included.rb +1 -3
- data/lib/shrine/plugins/infer_extension.rb +1 -3
- data/lib/shrine/plugins/instrumentation.rb +1 -3
- data/lib/shrine/plugins/keep_files.rb +1 -3
- data/lib/shrine/plugins/metadata_attributes.rb +1 -3
- data/lib/shrine/plugins/mirroring.rb +2 -1
- data/lib/shrine/plugins/model.rb +2 -4
- data/lib/shrine/plugins/module_include.rb +1 -3
- data/lib/shrine/plugins/multi_cache.rb +3 -3
- data/lib/shrine/plugins/presign_endpoint.rb +1 -3
- data/lib/shrine/plugins/pretty_location.rb +1 -3
- data/lib/shrine/plugins/processing.rb +1 -3
- data/lib/shrine/plugins/rack_file.rb +1 -3
- data/lib/shrine/plugins/rack_response.rb +1 -3
- data/lib/shrine/plugins/recache.rb +1 -3
- data/lib/shrine/plugins/refresh_metadata.rb +1 -3
- data/lib/shrine/plugins/remote_url.rb +1 -3
- data/lib/shrine/plugins/remove_attachment.rb +1 -3
- data/lib/shrine/plugins/remove_invalid.rb +1 -3
- data/lib/shrine/plugins/restore_cached_data.rb +1 -3
- data/lib/shrine/plugins/sequel.rb +10 -12
- data/lib/shrine/plugins/signature.rb +1 -3
- data/lib/shrine/plugins/store_dimensions.rb +1 -3
- data/lib/shrine/plugins/tempfile.rb +1 -3
- data/lib/shrine/plugins/upload_endpoint.rb +1 -3
- data/lib/shrine/plugins/upload_options.rb +1 -3
- data/lib/shrine/plugins/url_options.rb +1 -3
- data/lib/shrine/plugins/validation.rb +1 -3
- data/lib/shrine/plugins/validation_helpers.rb +1 -3
- data/lib/shrine/plugins/versions.rb +1 -3
- data/lib/shrine/storage/file_system.rb +1 -1
- data/lib/shrine/storage/linter.rb +1 -1
- data/lib/shrine/storage/memory.rb +2 -1
- data/lib/shrine/storage/s3.rb +3 -3
- data/lib/shrine/version.rb +1 -1
- metadata +8 -4
data/doc/release_notes/1.0.0.md
CHANGED
data/doc/release_notes/1.1.0.md
CHANGED
data/doc/release_notes/1.2.0.md
CHANGED
data/doc/release_notes/1.3.0.md
CHANGED
data/doc/release_notes/1.4.0.md
CHANGED
data/doc/release_notes/1.4.1.md
CHANGED
data/doc/release_notes/1.4.2.md
CHANGED
data/doc/release_notes/2.0.0.md
CHANGED
data/doc/release_notes/2.0.1.md
CHANGED
data/doc/release_notes/2.1.0.md
CHANGED
data/doc/release_notes/2.1.1.md
CHANGED
data/doc/release_notes/2.10.0.md
CHANGED
data/doc/release_notes/2.10.1.md
CHANGED
data/doc/release_notes/2.11.0.md
CHANGED
data/doc/release_notes/2.12.0.md
CHANGED
data/doc/release_notes/2.13.0.md
CHANGED
data/doc/release_notes/2.14.0.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
---
|
2
|
+
title: Shrine 2.14.0
|
3
|
+
---
|
4
|
+
|
1
5
|
## New features
|
2
6
|
|
3
7
|
* `Shrine::Storage::S3` now accepts a `:client` option for specifying an AWS
|
@@ -274,5 +278,5 @@
|
|
274
278
|
`#download_url`). If you've are currently overriding any of these private
|
275
279
|
methods, you'll need to update your code.
|
276
280
|
|
277
|
-
[Retrieving Uploads]: /
|
281
|
+
[Retrieving Uploads]: https://shrinerb.com/docs/retrieving-uploads
|
278
282
|
[content_disposition]: https://github.com/shrinerb/content_disposition
|
data/doc/release_notes/2.15.0.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
---
|
2
|
+
title: Shrine 2.15.0
|
3
|
+
---
|
4
|
+
|
1
5
|
## New features
|
2
6
|
|
3
7
|
* The [`derivation_endpoint`][derivation_endpoint] plugin has been added, which
|
@@ -74,9 +78,9 @@
|
|
74
78
|
relying on multiple invocations returning the same object, you will need to
|
75
79
|
modify your code.
|
76
80
|
|
77
|
-
[derivation_endpoint]: /
|
78
|
-
[CDN host]: /
|
79
|
-
[`Content-Type`]: /
|
80
|
-
[`Content-Disposition`]: /
|
81
|
-
[URL expiration]: /
|
82
|
-
[uploading]: /
|
81
|
+
[derivation_endpoint]: https://shrinerb.com/docs/plugins/derivation_endpoint
|
82
|
+
[CDN host]: https://shrinerb.com/docs/plugins/derivation_endpoint#host
|
83
|
+
[`Content-Type`]: https://shrinerb.com/docs/plugins/derivation_endpoint#content-type
|
84
|
+
[`Content-Disposition`]: https://shrinerb.com/docs/plugins/derivation_endpoint#content-disposition
|
85
|
+
[URL expiration]: https://shrinerb.com/docs/plugins/derivation_endpoint#expiration
|
86
|
+
[uploading]: https://shrinerb.com/docs/plugins/derivation_endpoint#uploading
|
data/doc/release_notes/2.16.0.md
CHANGED
data/doc/release_notes/2.17.0.md
CHANGED
data/doc/release_notes/2.18.0.md
CHANGED
data/doc/release_notes/2.19.0.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
---
|
2
|
+
title: Shrine 2.19.0
|
3
|
+
---
|
4
|
+
|
1
5
|
## New features
|
2
6
|
|
3
7
|
* A new `instrumentation` plugin has been added. It sends and logs events for
|
@@ -12,7 +16,7 @@
|
|
12
16
|
uploaded_file.download
|
13
17
|
uploaded_file.delete
|
14
18
|
```
|
15
|
-
```
|
19
|
+
```plaintext
|
16
20
|
Metadata (32ms) – {:storage=>:store, :io=>StringIO, :uploader=>Shrine}
|
17
21
|
Upload (1523ms) – {:storage=>:store, :location=>"ed0e30ddec8b97813f2c1f4cfd1700b4", :io=>StringIO, :upload_options=>{}, :uploader=>Shrine}
|
18
22
|
Exists (755ms) – {:storage=>:store, :location=>"ed0e30ddec8b97813f2c1f4cfd1700b4", :uploader=>Shrine}
|
@@ -228,8 +232,8 @@
|
|
228
232
|
`FileSystem#upload`. This means that the `#move` && `#movable?` methods are
|
229
233
|
not part of the storage abstraction anymore.
|
230
234
|
|
231
|
-
* The `backup` plugin has been deprecated
|
232
|
-
|
235
|
+
* The `backup` plugin has been deprecated (a new `mirroring` plugin will get
|
236
|
+
added in 3.0).
|
233
237
|
|
234
238
|
* The `copy` plugin has been deprecated.
|
235
239
|
|
@@ -260,4 +264,3 @@
|
|
260
264
|
|
261
265
|
[ActiveSupport::Notifications]: https://api.rubyonrails.org/classes/ActiveSupport/Notifications.html
|
262
266
|
[dry-monitor]: https://github.com/dry-rb/dry-monitor
|
263
|
-
[mirroring uploads]: https://github.com/shrinerb/shrine/wiki/Mirroring-Uploads
|
data/doc/release_notes/2.2.0.md
CHANGED
data/doc/release_notes/2.3.0.md
CHANGED
data/doc/release_notes/2.3.1.md
CHANGED
data/doc/release_notes/2.4.0.md
CHANGED
data/doc/release_notes/2.4.1.md
CHANGED
data/doc/release_notes/2.5.0.md
CHANGED
data/doc/release_notes/2.6.0.md
CHANGED
data/doc/release_notes/2.6.1.md
CHANGED
data/doc/release_notes/2.7.0.md
CHANGED
data/doc/release_notes/2.8.0.md
CHANGED
data/doc/release_notes/2.9.0.md
CHANGED
data/doc/release_notes/3.0.0.md
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
---
|
2
|
+
title: Shrine 3.0.0
|
3
|
+
---
|
2
4
|
|
3
5
|
This guide covers all the changes in the 3.0.0 version of Shrine. If you're
|
4
6
|
currently using Shrine 2.x, see [Upgrading to Shrine 3.x] for instructions on
|
@@ -35,9 +37,82 @@ how to upgrade.
|
|
35
37
|
improvements:
|
36
38
|
|
37
39
|
- processed files are separated from the main file
|
40
|
+
|
41
|
+
```rb
|
42
|
+
photo.image_data #=>
|
43
|
+
# {
|
44
|
+
# "id": "original.jpg",
|
45
|
+
# "storage": "store",
|
46
|
+
# "metadata": { ... },
|
47
|
+
# "derivatives": {
|
48
|
+
# "large": { "id": "large.jpg", "storage": "store", "metadata": { ... } },
|
49
|
+
# "medium": { "id": "medium.jpg", "storage": "store", "metadata": { ... } },
|
50
|
+
# "small": { "id": "small.jpg", "storage": "store", "metadata": { ... } }
|
51
|
+
# }
|
52
|
+
# }
|
53
|
+
|
54
|
+
photo.image #=> #<Shrine::UploadedFile @id="original.jpg" ...>
|
55
|
+
photo.image_derivatives #=>
|
56
|
+
# {
|
57
|
+
# large: #<Shrine::UploadedFile @id="large.jpg" ...>,
|
58
|
+
# medium: #<Shrine::UploadedFile @id="medium.jpg" ...>,
|
59
|
+
# small: #<Shrine::UploadedFile @id="small.jpg" ...>,
|
60
|
+
# }
|
61
|
+
```
|
62
|
+
|
38
63
|
- processing is decoupled from promotion
|
64
|
+
|
65
|
+
```rb
|
66
|
+
photo = Photo.create(image: file) # promote original file to permanent storage
|
67
|
+
photo.image_derivatives! # generate derivatives after promotion
|
68
|
+
photo.save # save derivatives data
|
69
|
+
```
|
70
|
+
|
39
71
|
- ability to add or remove processed files at any point
|
40
|
-
|
72
|
+
|
73
|
+
```rb
|
74
|
+
class ImageUploader < Shrine
|
75
|
+
Attacher.derivatives_processor :thumbnails do |original|
|
76
|
+
# ...
|
77
|
+
end
|
78
|
+
|
79
|
+
Attacher.derivatives_processor :crop do |original, left:, top:, width:, height:|
|
80
|
+
vips = ImageProcessing::Vips.source(original)
|
81
|
+
|
82
|
+
{ cropped: vips.crop!(left, top, width, height) }
|
83
|
+
end
|
84
|
+
end
|
85
|
+
```
|
86
|
+
```rb
|
87
|
+
photo.image_derivatives!(:thumbnails)
|
88
|
+
photo.image_derivatives #=> { large: ..., medium: ..., small: ... }
|
89
|
+
photo.save
|
90
|
+
|
91
|
+
# ... sometime later ...
|
92
|
+
|
93
|
+
photo.image_derivatives!(:crop, left: 0, top: 0, width: 300, height: 300)
|
94
|
+
photo.image_derivatives #=> { large: ..., medium: ..., small: ..., cropped: ... }
|
95
|
+
photo.save
|
96
|
+
```
|
97
|
+
|
98
|
+
- possibility of uploading processed files to different storage
|
99
|
+
|
100
|
+
```rb
|
101
|
+
class ImageUploader < Shrine
|
102
|
+
# specify storage for all derivatives
|
103
|
+
Attacher.derivatives_storage :other_store
|
104
|
+
|
105
|
+
# or specify storage per derivative
|
106
|
+
Attacher.derivatives_storage { |derivative| :other_store }
|
107
|
+
end
|
108
|
+
```
|
109
|
+
```rb
|
110
|
+
photo = Photo.create(image: file)
|
111
|
+
photo.image.storage_key #=> :store
|
112
|
+
|
113
|
+
photo.image_derivatives!
|
114
|
+
photo.image_derivatives[:large].storage_key #=> :other_store
|
115
|
+
```
|
41
116
|
|
42
117
|
* The [`Shrine::Attacher`][attacher] class has been rewritten and can now be
|
43
118
|
used without models:
|
@@ -113,7 +188,7 @@ how to upgrade.
|
|
113
188
|
```
|
114
189
|
|
115
190
|
* The new [`model`][model] plugin adds support for mutable structs, which is
|
116
|
-
used
|
191
|
+
used by `activerecord` and `sequel` plugins.
|
117
192
|
|
118
193
|
```rb
|
119
194
|
Shrine.plugin :model
|
@@ -281,6 +356,8 @@ how to upgrade.
|
|
281
356
|
attacher.file #=> #<Shrine::UploadedFile @id="..." @storage_key=:cache ...>
|
282
357
|
```
|
283
358
|
|
359
|
+
## Other features
|
360
|
+
|
284
361
|
* Model file assignment can now be configured to upload directly to permanent
|
285
362
|
storage.
|
286
363
|
|
@@ -292,8 +369,6 @@ how to upgrade.
|
|
292
369
|
photo.image.storage_key #=> :store (permanent storage)
|
293
370
|
```
|
294
371
|
|
295
|
-
## Other features
|
296
|
-
|
297
372
|
* New `Shrine.download_response` method has been added to the
|
298
373
|
`download_endpoint` plugin for generating file response from the controller.
|
299
374
|
|
@@ -383,6 +458,13 @@ how to upgrade.
|
|
383
458
|
* New `Derivation#opened` method has been added for retrieving an opened
|
384
459
|
derivative in `derivation_endpoint` plugin.
|
385
460
|
|
461
|
+
* New `Storage#delete_prefixed` method has been added for deleting all files
|
462
|
+
in specified directory.
|
463
|
+
|
464
|
+
```rb
|
465
|
+
storage.delete_prefixed("some_directory/")
|
466
|
+
```
|
467
|
+
|
386
468
|
## Performance improvements
|
387
469
|
|
388
470
|
* The attached file is now parsed and loaded from record column only once,
|
@@ -454,6 +536,15 @@ how to upgrade.
|
|
454
536
|
|
455
537
|
* The `down` dependency has been updated to `~> 5.0`.
|
456
538
|
|
539
|
+
* The `Shrine::Attachment[]` method has been added as an alternative syntax for
|
540
|
+
creating attachment modules.
|
541
|
+
|
542
|
+
```rb
|
543
|
+
class Photo
|
544
|
+
include ImageUploader::Attachment[:image]
|
545
|
+
end
|
546
|
+
```
|
547
|
+
|
457
548
|
### Plugin improvements
|
458
549
|
|
459
550
|
* The `activerecord` plugin now works with Active Record 3.
|
@@ -461,6 +552,10 @@ how to upgrade.
|
|
461
552
|
* Callback code from `activerecord` and `sequel` plugin has been moved into
|
462
553
|
attacher methods, allowing the user to override them.
|
463
554
|
|
555
|
+
- `Attacher#(activerecord|sequel)_before_save`
|
556
|
+
- `Attacher#(activerecord|sequel)_after_save`
|
557
|
+
- `Attacher#(activerecord|sequel)_after_destroy`
|
558
|
+
|
464
559
|
* The `url_options` plugin now allows you to override URL options by deleting
|
465
560
|
them.
|
466
561
|
|
@@ -534,6 +629,9 @@ how to upgrade.
|
|
534
629
|
# "blog_post/aa357797-5845-451b-8662-08eecdc9f762/image/493g82jf23.jpg"
|
535
630
|
```
|
536
631
|
|
632
|
+
* You can now load multiple persistence plugins simulatenously, and the correct
|
633
|
+
one will be activated during persistence.
|
634
|
+
|
537
635
|
## Backwards compatibility
|
538
636
|
|
539
637
|
### Plugin deprecation and removal
|
@@ -559,25 +657,11 @@ how to upgrade.
|
|
559
657
|
|
560
658
|
### Attacher API
|
561
659
|
|
562
|
-
* The `Attacher.new` method now only accepts a hash of options
|
563
|
-
|
564
|
-
```rb
|
565
|
-
# this doesn't work anymore
|
566
|
-
Shrine::Attacher.new(photo, :image) # ~> ArgumentError: invalid number of arguments
|
567
|
-
|
568
|
-
# this should be used instead
|
569
|
-
Shrine::Attacher.from_model(photo, :image)
|
570
|
-
```
|
571
|
-
|
572
|
-
* The attacher won't detect direct data attribute changes anymore. If you're
|
573
|
-
updating the data attribute and are expecting to see the change applied to
|
574
|
-
the attacher, you'll need to call `Attacher#reload`.
|
660
|
+
* The `Attacher.new` method now only accepts a hash of options, use
|
661
|
+
`Attacher.from_model` for initializing from a model.
|
575
662
|
|
576
|
-
|
577
|
-
attacher
|
578
|
-
photo.image_data = '...'
|
579
|
-
attacher.reload
|
580
|
-
```
|
663
|
+
* If you're changing the attachment data column directly, you'll now need to
|
664
|
+
call `Attacher#reload` to make the attacher reflect those changes.
|
581
665
|
|
582
666
|
* The `Attacher#promote` method now only saves the promoted file in memory,
|
583
667
|
it doesn't persist the changes.
|
@@ -768,9 +852,6 @@ how to upgrade.
|
|
768
852
|
|
769
853
|
- The `Derivation#upload` method now closes the uploaded file.
|
770
854
|
|
771
|
-
- Uploader deleting the uploaded derivative isn't supported anymore (e.g.
|
772
|
-
`delete_raw` plugin).
|
773
|
-
|
774
855
|
- The `derivation.upload` instrumentation event payload now includes only
|
775
856
|
`:derivation` key.
|
776
857
|
|
@@ -867,16 +948,17 @@ how to upgrade.
|
|
867
948
|
|
868
949
|
- The `:callbacks` plugin option has been renamed to `:hooks`.
|
869
950
|
|
870
|
-
[derivatives]: /
|
871
|
-
[versions]: /
|
872
|
-
[backgrounding]: /
|
951
|
+
[derivatives]: https://shrinerb.com/docs/plugins/derivatives
|
952
|
+
[versions]: https://shrinerb.com/docs/plugins/versions
|
953
|
+
[backgrounding]: https://shrinerb.com/docs/plugins/backgrounding
|
873
954
|
[shrine-memory]: https://github.com/shrinerb/shrine-memory
|
874
|
-
[atomic_helpers]: /
|
875
|
-
[attacher]: /
|
876
|
-
[column]: /
|
877
|
-
[entity]: /
|
878
|
-
[model]: /
|
879
|
-
[persistence]: /
|
880
|
-
[mirroring]: /
|
881
|
-
[form_assign]: /
|
882
|
-
[
|
955
|
+
[atomic_helpers]: https://shrinerb.com/docs/plugins/atomic_helpers
|
956
|
+
[attacher]: https://shrinerb.com/docs/attacher
|
957
|
+
[column]: https://shrinerb.com/docs/plugins/column
|
958
|
+
[entity]: https://shrinerb.com/docs/plugins/entity
|
959
|
+
[model]: https://shrinerb.com/docs/plugins/model
|
960
|
+
[persistence]: https://shrinerb.com/docs/plugins/persistence
|
961
|
+
[mirroring]: https://shrinerb.com/docs/plugins/mirroring
|
962
|
+
[form_assign]: https://shrinerb.com/docs/plugins/form_assign
|
963
|
+
[multi_cache]: https://shrinerb.com/docs/plugins/multi_cache
|
964
|
+
[Upgrading to Shrine 3.x]: https://shrinerb.com/docs/upgrading-to-3
|