activestorage 6.1.5 → 7.0.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activestorage might be problematic. Click here for more details.

Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +181 -208
  3. data/README.md +25 -11
  4. data/app/assets/javascripts/activestorage.esm.js +844 -0
  5. data/app/assets/javascripts/activestorage.js +257 -376
  6. data/app/controllers/active_storage/base_controller.rb +0 -9
  7. data/app/controllers/active_storage/blobs/proxy_controller.rb +15 -4
  8. data/app/controllers/active_storage/blobs/redirect_controller.rb +6 -4
  9. data/app/controllers/active_storage/disk_controller.rb +1 -0
  10. data/app/controllers/active_storage/representations/base_controller.rb +5 -1
  11. data/app/controllers/active_storage/representations/proxy_controller.rb +7 -3
  12. data/app/controllers/active_storage/representations/redirect_controller.rb +6 -4
  13. data/app/controllers/concerns/active_storage/set_blob.rb +6 -2
  14. data/app/controllers/concerns/active_storage/set_current.rb +3 -3
  15. data/app/controllers/concerns/active_storage/streaming.rb +65 -0
  16. data/app/javascript/activestorage/ujs.js +1 -1
  17. data/app/models/active_storage/attachment.rb +35 -2
  18. data/app/models/active_storage/blob/representable.rb +7 -5
  19. data/app/models/active_storage/blob.rb +92 -36
  20. data/app/models/active_storage/current.rb +12 -2
  21. data/app/models/active_storage/preview.rb +6 -4
  22. data/app/models/active_storage/record.rb +1 -1
  23. data/app/models/active_storage/variant.rb +3 -6
  24. data/app/models/active_storage/variant_record.rb +2 -0
  25. data/app/models/active_storage/variant_with_record.rb +9 -5
  26. data/app/models/active_storage/variation.rb +2 -2
  27. data/config/routes.rb +10 -10
  28. data/db/migrate/20170806125915_create_active_storage_tables.rb +32 -11
  29. data/db/update_migrate/20190112182829_add_service_name_to_active_storage_blobs.rb +4 -0
  30. data/db/update_migrate/20191206030411_create_active_storage_variant_records.rb +17 -2
  31. data/db/update_migrate/20211119233751_remove_not_null_on_active_storage_blobs_checksum.rb +7 -0
  32. data/lib/active_storage/analyzer/audio_analyzer.rb +65 -0
  33. data/lib/active_storage/analyzer/image_analyzer/image_magick.rb +39 -0
  34. data/lib/active_storage/analyzer/image_analyzer/vips.rb +49 -0
  35. data/lib/active_storage/analyzer/image_analyzer.rb +2 -30
  36. data/lib/active_storage/analyzer/video_analyzer.rb +27 -12
  37. data/lib/active_storage/analyzer.rb +8 -4
  38. data/lib/active_storage/attached/changes/create_many.rb +7 -3
  39. data/lib/active_storage/attached/changes/create_one.rb +1 -1
  40. data/lib/active_storage/attached/changes/create_one_of_many.rb +1 -1
  41. data/lib/active_storage/attached/changes/delete_many.rb +1 -1
  42. data/lib/active_storage/attached/changes/delete_one.rb +1 -1
  43. data/lib/active_storage/attached/changes/detach_many.rb +18 -0
  44. data/lib/active_storage/attached/changes/detach_one.rb +24 -0
  45. data/lib/active_storage/attached/changes/purge_many.rb +27 -0
  46. data/lib/active_storage/attached/changes/purge_one.rb +27 -0
  47. data/lib/active_storage/attached/changes.rb +7 -1
  48. data/lib/active_storage/attached/many.rb +27 -15
  49. data/lib/active_storage/attached/model.rb +35 -7
  50. data/lib/active_storage/attached/one.rb +32 -27
  51. data/lib/active_storage/downloader.rb +4 -4
  52. data/lib/active_storage/engine.rb +59 -17
  53. data/lib/active_storage/fixture_set.rb +76 -0
  54. data/lib/active_storage/gem_version.rb +4 -4
  55. data/lib/active_storage/previewer.rb +4 -4
  56. data/lib/active_storage/reflection.rb +12 -2
  57. data/lib/active_storage/service/azure_storage_service.rb +28 -6
  58. data/lib/active_storage/service/configurator.rb +1 -1
  59. data/lib/active_storage/service/disk_service.rb +24 -19
  60. data/lib/active_storage/service/gcs_service.rb +109 -11
  61. data/lib/active_storage/service/mirror_service.rb +2 -2
  62. data/lib/active_storage/service/registry.rb +1 -1
  63. data/lib/active_storage/service/s3_service.rb +37 -15
  64. data/lib/active_storage/service.rb +13 -5
  65. data/lib/active_storage/transformers/image_processing_transformer.rb +7 -294
  66. data/lib/active_storage/transformers/transformer.rb +1 -1
  67. data/lib/active_storage/version.rb +1 -1
  68. data/lib/active_storage.rb +293 -1
  69. metadata +28 -18
  70. data/app/controllers/concerns/active_storage/set_headers.rb +0 -12
@@ -37,6 +37,7 @@ module ActiveStorage
37
37
  extend ActiveSupport::Autoload
38
38
 
39
39
  autoload :Attached
40
+ autoload :FixtureSet
40
41
  autoload :Service
41
42
  autoload :Previewer
42
43
  autoload :Analyzer
@@ -58,10 +59,299 @@ module ActiveStorage
58
59
  mattr_accessor :content_types_to_serve_as_binary, default: []
59
60
  mattr_accessor :content_types_allowed_inline, default: []
60
61
 
61
- mattr_accessor :supported_image_processing_methods, default: []
62
+ mattr_accessor :supported_image_processing_methods, default: [
63
+ "adaptive_blur",
64
+ "adaptive_resize",
65
+ "adaptive_sharpen",
66
+ "adjoin",
67
+ "affine",
68
+ "alpha",
69
+ "annotate",
70
+ "antialias",
71
+ "append",
72
+ "apply",
73
+ "attenuate",
74
+ "authenticate",
75
+ "auto_gamma",
76
+ "auto_level",
77
+ "auto_orient",
78
+ "auto_threshold",
79
+ "backdrop",
80
+ "background",
81
+ "bench",
82
+ "bias",
83
+ "bilateral_blur",
84
+ "black_point_compensation",
85
+ "black_threshold",
86
+ "blend",
87
+ "blue_primary",
88
+ "blue_shift",
89
+ "blur",
90
+ "border",
91
+ "bordercolor",
92
+ "borderwidth",
93
+ "brightness_contrast",
94
+ "cache",
95
+ "canny",
96
+ "caption",
97
+ "channel",
98
+ "channel_fx",
99
+ "charcoal",
100
+ "chop",
101
+ "clahe",
102
+ "clamp",
103
+ "clip",
104
+ "clip_path",
105
+ "clone",
106
+ "clut",
107
+ "coalesce",
108
+ "colorize",
109
+ "colormap",
110
+ "color_matrix",
111
+ "colors",
112
+ "colorspace",
113
+ "colourspace",
114
+ "color_threshold",
115
+ "combine",
116
+ "combine_options",
117
+ "comment",
118
+ "compare",
119
+ "complex",
120
+ "compose",
121
+ "composite",
122
+ "compress",
123
+ "connected_components",
124
+ "contrast",
125
+ "contrast_stretch",
126
+ "convert",
127
+ "convolve",
128
+ "copy",
129
+ "crop",
130
+ "cycle",
131
+ "deconstruct",
132
+ "define",
133
+ "delay",
134
+ "delete",
135
+ "density",
136
+ "depth",
137
+ "descend",
138
+ "deskew",
139
+ "despeckle",
140
+ "direction",
141
+ "displace",
142
+ "dispose",
143
+ "dissimilarity_threshold",
144
+ "dissolve",
145
+ "distort",
146
+ "dither",
147
+ "draw",
148
+ "duplicate",
149
+ "edge",
150
+ "emboss",
151
+ "encoding",
152
+ "endian",
153
+ "enhance",
154
+ "equalize",
155
+ "evaluate",
156
+ "evaluate_sequence",
157
+ "extent",
158
+ "extract",
159
+ "family",
160
+ "features",
161
+ "fft",
162
+ "fill",
163
+ "filter",
164
+ "flatten",
165
+ "flip",
166
+ "floodfill",
167
+ "flop",
168
+ "font",
169
+ "foreground",
170
+ "format",
171
+ "frame",
172
+ "function",
173
+ "fuzz",
174
+ "fx",
175
+ "gamma",
176
+ "gaussian_blur",
177
+ "geometry",
178
+ "gravity",
179
+ "grayscale",
180
+ "green_primary",
181
+ "hald_clut",
182
+ "highlight_color",
183
+ "hough_lines",
184
+ "iconGeometry",
185
+ "iconic",
186
+ "identify",
187
+ "ift",
188
+ "illuminant",
189
+ "immutable",
190
+ "implode",
191
+ "insert",
192
+ "intensity",
193
+ "intent",
194
+ "interlace",
195
+ "interline_spacing",
196
+ "interpolate",
197
+ "interpolative_resize",
198
+ "interword_spacing",
199
+ "kerning",
200
+ "kmeans",
201
+ "kuwahara",
202
+ "label",
203
+ "lat",
204
+ "layers",
205
+ "level",
206
+ "level_colors",
207
+ "limit",
208
+ "limits",
209
+ "linear_stretch",
210
+ "linewidth",
211
+ "liquid_rescale",
212
+ "list",
213
+ "loader",
214
+ "log",
215
+ "loop",
216
+ "lowlight_color",
217
+ "magnify",
218
+ "map",
219
+ "mattecolor",
220
+ "median",
221
+ "mean_shift",
222
+ "metric",
223
+ "mode",
224
+ "modulate",
225
+ "moments",
226
+ "monitor",
227
+ "monochrome",
228
+ "morph",
229
+ "morphology",
230
+ "mosaic",
231
+ "motion_blur",
232
+ "name",
233
+ "negate",
234
+ "noise",
235
+ "normalize",
236
+ "opaque",
237
+ "ordered_dither",
238
+ "orient",
239
+ "page",
240
+ "paint",
241
+ "pause",
242
+ "perceptible",
243
+ "ping",
244
+ "pointsize",
245
+ "polaroid",
246
+ "poly",
247
+ "posterize",
248
+ "precision",
249
+ "preview",
250
+ "process",
251
+ "quality",
252
+ "quantize",
253
+ "quiet",
254
+ "radial_blur",
255
+ "raise",
256
+ "random_threshold",
257
+ "range_threshold",
258
+ "red_primary",
259
+ "regard_warnings",
260
+ "region",
261
+ "remote",
262
+ "render",
263
+ "repage",
264
+ "resample",
265
+ "resize",
266
+ "resize_to_fill",
267
+ "resize_to_fit",
268
+ "resize_to_limit",
269
+ "resize_and_pad",
270
+ "respect_parentheses",
271
+ "reverse",
272
+ "roll",
273
+ "rotate",
274
+ "sample",
275
+ "sampling_factor",
276
+ "saver",
277
+ "scale",
278
+ "scene",
279
+ "screen",
280
+ "seed",
281
+ "segment",
282
+ "selective_blur",
283
+ "separate",
284
+ "sepia_tone",
285
+ "shade",
286
+ "shadow",
287
+ "shared_memory",
288
+ "sharpen",
289
+ "shave",
290
+ "shear",
291
+ "sigmoidal_contrast",
292
+ "silent",
293
+ "similarity_threshold",
294
+ "size",
295
+ "sketch",
296
+ "smush",
297
+ "snaps",
298
+ "solarize",
299
+ "sort_pixels",
300
+ "sparse_color",
301
+ "splice",
302
+ "spread",
303
+ "statistic",
304
+ "stegano",
305
+ "stereo",
306
+ "storage_type",
307
+ "stretch",
308
+ "strip",
309
+ "stroke",
310
+ "strokewidth",
311
+ "style",
312
+ "subimage_search",
313
+ "swap",
314
+ "swirl",
315
+ "synchronize",
316
+ "taint",
317
+ "text_font",
318
+ "threshold",
319
+ "thumbnail",
320
+ "tile_offset",
321
+ "tint",
322
+ "title",
323
+ "transform",
324
+ "transparent",
325
+ "transparent_color",
326
+ "transpose",
327
+ "transverse",
328
+ "treedepth",
329
+ "trim",
330
+ "type",
331
+ "undercolor",
332
+ "unique_colors",
333
+ "units",
334
+ "unsharp",
335
+ "update",
336
+ "valid_image",
337
+ "view",
338
+ "vignette",
339
+ "virtual_pixel",
340
+ "visual",
341
+ "watermark",
342
+ "wave",
343
+ "wavelet_denoise",
344
+ "weight",
345
+ "white_balance",
346
+ "white_point",
347
+ "white_threshold",
348
+ "window",
349
+ "window_group"
350
+ ]
62
351
  mattr_accessor :unsupported_image_processing_arguments
63
352
 
64
353
  mattr_accessor :service_urls_expire_in, default: 5.minutes
354
+ mattr_accessor :urls_expire_in
65
355
 
66
356
  mattr_accessor :routes_prefix, default: "/rails/active_storage"
67
357
  mattr_accessor :draw_routes, default: true
@@ -72,6 +362,8 @@ module ActiveStorage
72
362
 
73
363
  mattr_accessor :video_preview_arguments, default: "-y -vframes 1 -f image2"
74
364
 
365
+ mattr_accessor :silence_invalid_content_types_warning, default: false
366
+
75
367
  module Transformers
76
368
  extend ActiveSupport::Autoload
77
369
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activestorage
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.1.5
4
+ version: 7.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-10 00:00:00.000000000 Z
11
+ date: 2022-05-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 6.1.5
19
+ version: 7.0.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 6.1.5
26
+ version: 7.0.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: actionpack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 6.1.5
33
+ version: 7.0.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 6.1.5
40
+ version: 7.0.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: activejob
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 6.1.5
47
+ version: 7.0.3
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 6.1.5
54
+ version: 7.0.3
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: activerecord
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 6.1.5
61
+ version: 7.0.3
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 6.1.5
68
+ version: 7.0.3
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: marcel
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -103,6 +103,7 @@ files:
103
103
  - CHANGELOG.md
104
104
  - MIT-LICENSE
105
105
  - README.md
106
+ - app/assets/javascripts/activestorage.esm.js
106
107
  - app/assets/javascripts/activestorage.js
107
108
  - app/controllers/active_storage/base_controller.rb
108
109
  - app/controllers/active_storage/blobs/proxy_controller.rb
@@ -115,7 +116,7 @@ files:
115
116
  - app/controllers/concerns/active_storage/file_server.rb
116
117
  - app/controllers/concerns/active_storage/set_blob.rb
117
118
  - app/controllers/concerns/active_storage/set_current.rb
118
- - app/controllers/concerns/active_storage/set_headers.rb
119
+ - app/controllers/concerns/active_storage/streaming.rb
119
120
  - app/javascript/activestorage/blob_record.js
120
121
  - app/javascript/activestorage/blob_upload.js
121
122
  - app/javascript/activestorage/direct_upload.js
@@ -146,9 +147,13 @@ files:
146
147
  - db/migrate/20170806125915_create_active_storage_tables.rb
147
148
  - db/update_migrate/20190112182829_add_service_name_to_active_storage_blobs.rb
148
149
  - db/update_migrate/20191206030411_create_active_storage_variant_records.rb
150
+ - db/update_migrate/20211119233751_remove_not_null_on_active_storage_blobs_checksum.rb
149
151
  - lib/active_storage.rb
150
152
  - lib/active_storage/analyzer.rb
153
+ - lib/active_storage/analyzer/audio_analyzer.rb
151
154
  - lib/active_storage/analyzer/image_analyzer.rb
155
+ - lib/active_storage/analyzer/image_analyzer/image_magick.rb
156
+ - lib/active_storage/analyzer/image_analyzer/vips.rb
152
157
  - lib/active_storage/analyzer/null_analyzer.rb
153
158
  - lib/active_storage/analyzer/video_analyzer.rb
154
159
  - lib/active_storage/attached.rb
@@ -158,12 +163,17 @@ files:
158
163
  - lib/active_storage/attached/changes/create_one_of_many.rb
159
164
  - lib/active_storage/attached/changes/delete_many.rb
160
165
  - lib/active_storage/attached/changes/delete_one.rb
166
+ - lib/active_storage/attached/changes/detach_many.rb
167
+ - lib/active_storage/attached/changes/detach_one.rb
168
+ - lib/active_storage/attached/changes/purge_many.rb
169
+ - lib/active_storage/attached/changes/purge_one.rb
161
170
  - lib/active_storage/attached/many.rb
162
171
  - lib/active_storage/attached/model.rb
163
172
  - lib/active_storage/attached/one.rb
164
173
  - lib/active_storage/downloader.rb
165
174
  - lib/active_storage/engine.rb
166
175
  - lib/active_storage/errors.rb
176
+ - lib/active_storage/fixture_set.rb
167
177
  - lib/active_storage/gem_version.rb
168
178
  - lib/active_storage/log_subscriber.rb
169
179
  - lib/active_storage/previewer.rb
@@ -188,12 +198,12 @@ licenses:
188
198
  - MIT
189
199
  metadata:
190
200
  bug_tracker_uri: https://github.com/rails/rails/issues
191
- changelog_uri: https://github.com/rails/rails/blob/v6.1.5/activestorage/CHANGELOG.md
192
- documentation_uri: https://api.rubyonrails.org/v6.1.5/
201
+ changelog_uri: https://github.com/rails/rails/blob/v7.0.3/activestorage/CHANGELOG.md
202
+ documentation_uri: https://api.rubyonrails.org/v7.0.3/
193
203
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
194
- source_code_uri: https://github.com/rails/rails/tree/v6.1.5/activestorage
204
+ source_code_uri: https://github.com/rails/rails/tree/v7.0.3/activestorage
195
205
  rubygems_mfa_required: 'true'
196
- post_install_message:
206
+ post_install_message:
197
207
  rdoc_options: []
198
208
  require_paths:
199
209
  - lib
@@ -201,7 +211,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
201
211
  requirements:
202
212
  - - ">="
203
213
  - !ruby/object:Gem::Version
204
- version: 2.5.0
214
+ version: 2.7.0
205
215
  required_rubygems_version: !ruby/object:Gem::Requirement
206
216
  requirements:
207
217
  - - ">="
@@ -209,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
219
  version: '0'
210
220
  requirements: []
211
221
  rubygems_version: 3.3.7
212
- signing_key:
222
+ signing_key:
213
223
  specification_version: 4
214
224
  summary: Local and cloud file storage framework.
215
225
  test_files: []
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ActiveStorage::SetHeaders #:nodoc:
4
- extend ActiveSupport::Concern
5
-
6
- private
7
- def set_content_headers_from(blob)
8
- response.headers["Content-Type"] = blob.content_type_for_serving
9
- response.headers["Content-Disposition"] = ActionDispatch::Http::ContentDisposition.format \
10
- disposition: blob.forced_disposition_for_serving || params[:disposition] || "inline", filename: blob.filename.sanitized
11
- end
12
- end