activestorage 6.0.6.1 → 6.1.0.rc1

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +137 -248
  3. data/MIT-LICENSE +1 -1
  4. data/README.md +36 -4
  5. data/app/controllers/active_storage/base_controller.rb +11 -0
  6. data/app/controllers/active_storage/blobs/proxy_controller.rb +14 -0
  7. data/app/controllers/active_storage/{blobs_controller.rb → blobs/redirect_controller.rb} +2 -2
  8. data/app/controllers/active_storage/disk_controller.rb +8 -20
  9. data/app/controllers/active_storage/representations/proxy_controller.rb +19 -0
  10. data/app/controllers/active_storage/{representations_controller.rb → representations/redirect_controller.rb} +2 -2
  11. data/app/controllers/concerns/active_storage/file_server.rb +18 -0
  12. data/app/controllers/concerns/active_storage/set_blob.rb +1 -1
  13. data/app/controllers/concerns/active_storage/set_current.rb +2 -2
  14. data/app/controllers/concerns/active_storage/set_headers.rb +12 -0
  15. data/app/jobs/active_storage/mirror_job.rb +15 -0
  16. data/app/models/active_storage/attachment.rb +18 -10
  17. data/app/models/active_storage/blob/analyzable.rb +6 -2
  18. data/app/models/active_storage/blob/identifiable.rb +7 -6
  19. data/app/models/active_storage/blob/representable.rb +34 -4
  20. data/app/models/active_storage/blob.rb +114 -57
  21. data/app/models/active_storage/preview.rb +31 -10
  22. data/app/models/active_storage/record.rb +7 -0
  23. data/app/models/active_storage/variant.rb +28 -41
  24. data/app/models/active_storage/variant_record.rb +8 -0
  25. data/app/models/active_storage/variant_with_record.rb +54 -0
  26. data/app/models/active_storage/variation.rb +25 -20
  27. data/config/routes.rb +58 -8
  28. data/db/migrate/20170806125915_create_active_storage_tables.rb +14 -5
  29. data/db/update_migrate/20190112182829_add_service_name_to_active_storage_blobs.rb +17 -0
  30. data/db/update_migrate/20191206030411_create_active_storage_variant_records.rb +11 -0
  31. data/lib/active_storage/analyzer/image_analyzer.rb +3 -0
  32. data/lib/active_storage/analyzer/null_analyzer.rb +4 -0
  33. data/lib/active_storage/analyzer/video_analyzer.rb +14 -3
  34. data/lib/active_storage/analyzer.rb +6 -0
  35. data/lib/active_storage/attached/changes/create_many.rb +1 -0
  36. data/lib/active_storage/attached/changes/create_one.rb +17 -4
  37. data/lib/active_storage/attached/many.rb +4 -3
  38. data/lib/active_storage/attached/model.rb +49 -10
  39. data/lib/active_storage/attached/one.rb +4 -3
  40. data/lib/active_storage/engine.rb +25 -43
  41. data/lib/active_storage/gem_version.rb +3 -3
  42. data/lib/active_storage/log_subscriber.rb +6 -0
  43. data/lib/active_storage/previewer/mupdf_previewer.rb +3 -3
  44. data/lib/active_storage/previewer/poppler_pdf_previewer.rb +2 -2
  45. data/lib/active_storage/previewer/video_previewer.rb +2 -2
  46. data/lib/active_storage/previewer.rb +3 -2
  47. data/lib/active_storage/service/azure_storage_service.rb +40 -35
  48. data/lib/active_storage/service/configurator.rb +3 -1
  49. data/lib/active_storage/service/disk_service.rb +36 -31
  50. data/lib/active_storage/service/gcs_service.rb +18 -16
  51. data/lib/active_storage/service/mirror_service.rb +31 -7
  52. data/lib/active_storage/service/registry.rb +32 -0
  53. data/lib/active_storage/service/s3_service.rb +51 -23
  54. data/lib/active_storage/service.rb +35 -7
  55. data/lib/active_storage/transformers/image_processing_transformer.rb +13 -365
  56. data/lib/active_storage/transformers/transformer.rb +0 -3
  57. data/lib/active_storage.rb +9 -8
  58. metadata +60 -25
  59. data/db/update_migrate/20180723000244_add_foreign_key_constraint_to_active_storage_attachments_for_blob_id.rb +0 -9
  60. data/lib/active_storage/downloading.rb +0 -47
  61. data/lib/active_storage/transformers/mini_magick_transformer.rb +0 -38
@@ -1,305 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "image_processing"
3
+ begin
4
+ require "image_processing"
5
+ rescue LoadError
6
+ raise LoadError, <<~ERROR.squish
7
+ Generating image variants require the image_processing gem.
8
+ Please add `gem 'image_processing', '~> 1.2'` to your Gemfile.
9
+ ERROR
10
+ end
4
11
 
5
12
  module ActiveStorage
6
13
  module Transformers
7
14
  class ImageProcessingTransformer < Transformer
8
15
  private
9
- class UnsupportedImageProcessingMethod < StandardError; end
10
- class UnsupportedImageProcessingArgument < StandardError; end
11
- SUPPORTED_IMAGE_PROCESSING_METHODS = [
12
- "adaptive_blur",
13
- "adaptive_resize",
14
- "adaptive_sharpen",
15
- "adjoin",
16
- "affine",
17
- "alpha",
18
- "annotate",
19
- "antialias",
20
- "append",
21
- "apply",
22
- "attenuate",
23
- "authenticate",
24
- "auto_gamma",
25
- "auto_level",
26
- "auto_orient",
27
- "auto_threshold",
28
- "backdrop",
29
- "background",
30
- "bench",
31
- "bias",
32
- "bilateral_blur",
33
- "black_point_compensation",
34
- "black_threshold",
35
- "blend",
36
- "blue_primary",
37
- "blue_shift",
38
- "blur",
39
- "border",
40
- "bordercolor",
41
- "borderwidth",
42
- "brightness_contrast",
43
- "cache",
44
- "canny",
45
- "caption",
46
- "channel",
47
- "channel_fx",
48
- "charcoal",
49
- "chop",
50
- "clahe",
51
- "clamp",
52
- "clip",
53
- "clip_path",
54
- "clone",
55
- "clut",
56
- "coalesce",
57
- "colorize",
58
- "colormap",
59
- "color_matrix",
60
- "colors",
61
- "colorspace",
62
- "colourspace",
63
- "color_threshold",
64
- "combine",
65
- "combine_options",
66
- "comment",
67
- "compare",
68
- "complex",
69
- "compose",
70
- "composite",
71
- "compress",
72
- "connected_components",
73
- "contrast",
74
- "contrast_stretch",
75
- "convert",
76
- "convolve",
77
- "copy",
78
- "crop",
79
- "cycle",
80
- "deconstruct",
81
- "define",
82
- "delay",
83
- "delete",
84
- "density",
85
- "depth",
86
- "descend",
87
- "deskew",
88
- "despeckle",
89
- "direction",
90
- "displace",
91
- "dispose",
92
- "dissimilarity_threshold",
93
- "dissolve",
94
- "distort",
95
- "dither",
96
- "draw",
97
- "duplicate",
98
- "edge",
99
- "emboss",
100
- "encoding",
101
- "endian",
102
- "enhance",
103
- "equalize",
104
- "evaluate",
105
- "evaluate_sequence",
106
- "extent",
107
- "extract",
108
- "family",
109
- "features",
110
- "fft",
111
- "fill",
112
- "filter",
113
- "flatten",
114
- "flip",
115
- "floodfill",
116
- "flop",
117
- "font",
118
- "foreground",
119
- "format",
120
- "frame",
121
- "function",
122
- "fuzz",
123
- "fx",
124
- "gamma",
125
- "gaussian_blur",
126
- "geometry",
127
- "gravity",
128
- "grayscale",
129
- "green_primary",
130
- "hald_clut",
131
- "highlight_color",
132
- "hough_lines",
133
- "iconGeometry",
134
- "iconic",
135
- "identify",
136
- "ift",
137
- "illuminant",
138
- "immutable",
139
- "implode",
140
- "insert",
141
- "intensity",
142
- "intent",
143
- "interlace",
144
- "interline_spacing",
145
- "interpolate",
146
- "interpolative_resize",
147
- "interword_spacing",
148
- "kerning",
149
- "kmeans",
150
- "kuwahara",
151
- "label",
152
- "lat",
153
- "layers",
154
- "level",
155
- "level_colors",
156
- "limit",
157
- "limits",
158
- "linear_stretch",
159
- "linewidth",
160
- "liquid_rescale",
161
- "list",
162
- "loader",
163
- "log",
164
- "loop",
165
- "lowlight_color",
166
- "magnify",
167
- "map",
168
- "mattecolor",
169
- "median",
170
- "mean_shift",
171
- "metric",
172
- "mode",
173
- "modulate",
174
- "moments",
175
- "monitor",
176
- "monochrome",
177
- "morph",
178
- "morphology",
179
- "mosaic",
180
- "motion_blur",
181
- "name",
182
- "negate",
183
- "noise",
184
- "normalize",
185
- "opaque",
186
- "ordered_dither",
187
- "orient",
188
- "page",
189
- "paint",
190
- "pause",
191
- "perceptible",
192
- "ping",
193
- "pointsize",
194
- "polaroid",
195
- "poly",
196
- "posterize",
197
- "precision",
198
- "preview",
199
- "process",
200
- "quality",
201
- "quantize",
202
- "quiet",
203
- "radial_blur",
204
- "raise",
205
- "random_threshold",
206
- "range_threshold",
207
- "red_primary",
208
- "regard_warnings",
209
- "region",
210
- "remote",
211
- "render",
212
- "repage",
213
- "resample",
214
- "resize",
215
- "resize_to_fill",
216
- "resize_to_fit",
217
- "resize_to_limit",
218
- "resize_and_pad",
219
- "respect_parentheses",
220
- "reverse",
221
- "roll",
222
- "rotate",
223
- "sample",
224
- "sampling_factor",
225
- "saver",
226
- "scale",
227
- "scene",
228
- "screen",
229
- "seed",
230
- "segment",
231
- "selective_blur",
232
- "separate",
233
- "sepia_tone",
234
- "shade",
235
- "shadow",
236
- "shared_memory",
237
- "sharpen",
238
- "shave",
239
- "shear",
240
- "sigmoidal_contrast",
241
- "silent",
242
- "similarity_threshold",
243
- "size",
244
- "sketch",
245
- "smush",
246
- "snaps",
247
- "solarize",
248
- "sort_pixels",
249
- "sparse_color",
250
- "splice",
251
- "spread",
252
- "statistic",
253
- "stegano",
254
- "stereo",
255
- "storage_type",
256
- "stretch",
257
- "strip",
258
- "stroke",
259
- "strokewidth",
260
- "style",
261
- "subimage_search",
262
- "swap",
263
- "swirl",
264
- "synchronize",
265
- "taint",
266
- "text_font",
267
- "threshold",
268
- "thumbnail",
269
- "tile_offset",
270
- "tint",
271
- "title",
272
- "transform",
273
- "transparent",
274
- "transparent_color",
275
- "transpose",
276
- "transverse",
277
- "treedepth",
278
- "trim",
279
- "type",
280
- "undercolor",
281
- "unique_colors",
282
- "units",
283
- "unsharp",
284
- "update",
285
- "valid_image",
286
- "view",
287
- "vignette",
288
- "virtual_pixel",
289
- "visual",
290
- "watermark",
291
- "wave",
292
- "wavelet_denoise",
293
- "weight",
294
- "white_balance",
295
- "white_point",
296
- "white_threshold",
297
- "window",
298
- "window_group"
299
- ].concat(ActiveStorage.supported_image_processing_methods)
300
-
301
- UNSUPPORTED_IMAGE_PROCESSING_ARGUMENTS = ActiveStorage.unsupported_image_processing_arguments
302
-
303
16
  def process(file, format:)
304
17
  processor.
305
18
  source(file).
@@ -315,80 +28,15 @@ module ActiveStorage
315
28
 
316
29
  def operations
317
30
  transformations.each_with_object([]) do |(name, argument), list|
318
- if ActiveStorage.variant_processor == :mini_magick
319
- if name.to_s == "combine_options"
320
- argument.each do |subtransformation_name, subtransformation_argument|
321
- validate_transformation(subtransformation_name, subtransformation_argument)
322
- end
323
- else
324
- validate_transformation(name, argument)
325
- end
326
- end
327
-
328
31
  if name.to_s == "combine_options"
329
- ActiveSupport::Deprecation.warn <<~WARNING.squish
32
+ raise ArgumentError, <<~ERROR.squish
330
33
  Active Storage's ImageProcessing transformer doesn't support :combine_options,
331
- as it always generates a single ImageMagick command. Passing :combine_options will
332
- not be supported in Rails 6.1.
333
- WARNING
334
-
335
- list.concat argument.keep_if { |key, value| value.present? }.to_a
336
- elsif argument.present?
337
- list << [ name, argument ]
338
- end
339
- end
340
- end
341
-
342
- def validate_transformation(name, argument)
343
- method_name = name.to_s.gsub("-","_")
344
-
345
- unless SUPPORTED_IMAGE_PROCESSING_METHODS.any? { |method| method_name == method }
346
- raise UnsupportedImageProcessingMethod, <<~ERROR.squish
347
- One or more of the provided transformation methods is not supported.
348
- ERROR
349
- end
350
-
351
- if argument.present?
352
- if argument.is_a?(String) || argument.is_a?(Symbol)
353
- validate_arg_string(argument)
354
- elsif argument.is_a?(Array)
355
- validate_arg_array(argument)
356
- elsif argument.is_a?(Hash)
357
- validate_arg_hash(argument)
358
- end
359
- end
360
- end
361
-
362
- def validate_arg_string(argument)
363
- if UNSUPPORTED_IMAGE_PROCESSING_ARGUMENTS.any? { |bad_arg| argument.to_s.downcase.include?(bad_arg) }; raise UnsupportedImageProcessingArgument end
364
- end
365
-
366
- def validate_arg_array(argument)
367
- argument.each do |arg|
368
- if arg.is_a?(Integer) || arg.is_a?(Float)
369
- next
370
- elsif arg.is_a?(String) || arg.is_a?(Symbol)
371
- validate_arg_string(arg)
372
- elsif arg.is_a?(Array)
373
- validate_arg_array(arg)
374
- elsif arg.is_a?(Hash)
375
- validate_arg_hash(arg)
34
+ as it always generates a single ImageMagick command.
35
+ ERROR
376
36
  end
377
- end
378
- end
379
-
380
- def validate_arg_hash(argument)
381
- argument.each do |key, value|
382
- validate_arg_string(key)
383
37
 
384
- if value.is_a?(Integer) || value.is_a?(Float)
385
- next
386
- elsif value.is_a?(String) || value.is_a?(Symbol)
387
- validate_arg_string(value)
388
- elsif value.is_a?(Array)
389
- validate_arg_array(value)
390
- elsif value.is_a?(Hash)
391
- validate_arg_hash(value)
38
+ if argument.present?
39
+ list << [ name, argument ]
392
40
  end
393
41
  end
394
42
  end
@@ -8,9 +8,6 @@ module ActiveStorage
8
8
  #
9
9
  # * ActiveStorage::Transformers::ImageProcessingTransformer:
10
10
  # backed by ImageProcessing, a common interface for MiniMagick and ruby-vips
11
- #
12
- # * ActiveStorage::Transformers::MiniMagickTransformer:
13
- # backed by MiniMagick, a wrapper around the ImageMagick CLI
14
11
  class Transformer
15
12
  attr_reader :transformations
16
13
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  #--
4
- # Copyright (c) 2017-2019 David Heinemeier Hansson, Basecamp
4
+ # Copyright (c) 2017-2020 David Heinemeier Hansson, Basecamp
5
5
  #
6
6
  # Permission is hereby granted, free of charge, to any person obtaining
7
7
  # a copy of this software and associated documentation files (the
@@ -52,24 +52,25 @@ module ActiveStorage
52
52
 
53
53
  mattr_accessor :paths, default: {}
54
54
 
55
- mattr_accessor :variable_content_types, default: []
56
- mattr_accessor :binary_content_type, default: "application/octet-stream"
57
- mattr_accessor :content_types_to_serve_as_binary, default: []
58
- mattr_accessor :content_types_allowed_inline, default: []
59
- mattr_accessor :supported_image_processing_methods, default: []
60
- mattr_accessor :unsupported_image_processing_arguments
55
+ mattr_accessor :variable_content_types, default: []
56
+ mattr_accessor :web_image_content_types, default: []
57
+ mattr_accessor :binary_content_type, default: "application/octet-stream"
58
+ mattr_accessor :content_types_to_serve_as_binary, default: []
59
+ mattr_accessor :content_types_allowed_inline, default: []
61
60
 
62
61
  mattr_accessor :service_urls_expire_in, default: 5.minutes
63
62
 
64
63
  mattr_accessor :routes_prefix, default: "/rails/active_storage"
64
+ mattr_accessor :draw_routes, default: true
65
+ mattr_accessor :resolve_model_to_route, default: :rails_storage_redirect
65
66
 
66
67
  mattr_accessor :replace_on_assign_to_many, default: false
68
+ mattr_accessor :track_variants, default: false
67
69
 
68
70
  module Transformers
69
71
  extend ActiveSupport::Autoload
70
72
 
71
73
  autoload :Transformer
72
74
  autoload :ImageProcessingTransformer
73
- autoload :MiniMagickTransformer
74
75
  end
75
76
  end
metadata CHANGED
@@ -1,71 +1,99 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activestorage
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.6.1
4
+ version: 6.1.0.rc1
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: 2023-01-17 00:00:00.000000000 Z
11
+ date: 2020-11-02 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 6.1.0.rc1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 6.1.0.rc1
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: actionpack
15
29
  requirement: !ruby/object:Gem::Requirement
16
30
  requirements:
17
31
  - - '='
18
32
  - !ruby/object:Gem::Version
19
- version: 6.0.6.1
33
+ version: 6.1.0.rc1
20
34
  type: :runtime
21
35
  prerelease: false
22
36
  version_requirements: !ruby/object:Gem::Requirement
23
37
  requirements:
24
38
  - - '='
25
39
  - !ruby/object:Gem::Version
26
- version: 6.0.6.1
40
+ version: 6.1.0.rc1
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: activejob
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - '='
32
46
  - !ruby/object:Gem::Version
33
- version: 6.0.6.1
47
+ version: 6.1.0.rc1
34
48
  type: :runtime
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - '='
39
53
  - !ruby/object:Gem::Version
40
- version: 6.0.6.1
54
+ version: 6.1.0.rc1
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: activerecord
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - '='
46
60
  - !ruby/object:Gem::Version
47
- version: 6.0.6.1
61
+ version: 6.1.0.rc1
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - '='
53
67
  - !ruby/object:Gem::Version
54
- version: 6.0.6.1
68
+ version: 6.1.0.rc1
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: marcel
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '1.0'
75
+ version: 0.3.1
62
76
  type: :runtime
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - "~>"
67
81
  - !ruby/object:Gem::Version
68
- version: '1.0'
82
+ version: 0.3.1
83
+ - !ruby/object:Gem::Dependency
84
+ name: mimemagic
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.3.2
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.3.2
69
97
  description: Attach cloud and local files in Rails applications.
70
98
  email: david@loudthinking.com
71
99
  executables: []
@@ -77,12 +105,16 @@ files:
77
105
  - README.md
78
106
  - app/assets/javascripts/activestorage.js
79
107
  - app/controllers/active_storage/base_controller.rb
80
- - app/controllers/active_storage/blobs_controller.rb
108
+ - app/controllers/active_storage/blobs/proxy_controller.rb
109
+ - app/controllers/active_storage/blobs/redirect_controller.rb
81
110
  - app/controllers/active_storage/direct_uploads_controller.rb
82
111
  - app/controllers/active_storage/disk_controller.rb
83
- - app/controllers/active_storage/representations_controller.rb
112
+ - app/controllers/active_storage/representations/proxy_controller.rb
113
+ - app/controllers/active_storage/representations/redirect_controller.rb
114
+ - app/controllers/concerns/active_storage/file_server.rb
84
115
  - app/controllers/concerns/active_storage/set_blob.rb
85
116
  - app/controllers/concerns/active_storage/set_current.rb
117
+ - app/controllers/concerns/active_storage/set_headers.rb
86
118
  - app/javascript/activestorage/blob_record.js
87
119
  - app/javascript/activestorage/blob_upload.js
88
120
  - app/javascript/activestorage/direct_upload.js
@@ -94,6 +126,7 @@ files:
94
126
  - app/javascript/activestorage/ujs.js
95
127
  - app/jobs/active_storage/analyze_job.rb
96
128
  - app/jobs/active_storage/base_job.rb
129
+ - app/jobs/active_storage/mirror_job.rb
97
130
  - app/jobs/active_storage/purge_job.rb
98
131
  - app/models/active_storage/attachment.rb
99
132
  - app/models/active_storage/blob.rb
@@ -103,11 +136,15 @@ files:
103
136
  - app/models/active_storage/current.rb
104
137
  - app/models/active_storage/filename.rb
105
138
  - app/models/active_storage/preview.rb
139
+ - app/models/active_storage/record.rb
106
140
  - app/models/active_storage/variant.rb
141
+ - app/models/active_storage/variant_record.rb
142
+ - app/models/active_storage/variant_with_record.rb
107
143
  - app/models/active_storage/variation.rb
108
144
  - config/routes.rb
109
145
  - db/migrate/20170806125915_create_active_storage_tables.rb
110
- - db/update_migrate/20180723000244_add_foreign_key_constraint_to_active_storage_attachments_for_blob_id.rb
146
+ - db/update_migrate/20190112182829_add_service_name_to_active_storage_blobs.rb
147
+ - db/update_migrate/20191206030411_create_active_storage_variant_records.rb
111
148
  - lib/active_storage.rb
112
149
  - lib/active_storage/analyzer.rb
113
150
  - lib/active_storage/analyzer/image_analyzer.rb
@@ -124,7 +161,6 @@ files:
124
161
  - lib/active_storage/attached/model.rb
125
162
  - lib/active_storage/attached/one.rb
126
163
  - lib/active_storage/downloader.rb
127
- - lib/active_storage/downloading.rb
128
164
  - lib/active_storage/engine.rb
129
165
  - lib/active_storage/errors.rb
130
166
  - lib/active_storage/gem_version.rb
@@ -140,9 +176,9 @@ files:
140
176
  - lib/active_storage/service/disk_service.rb
141
177
  - lib/active_storage/service/gcs_service.rb
142
178
  - lib/active_storage/service/mirror_service.rb
179
+ - lib/active_storage/service/registry.rb
143
180
  - lib/active_storage/service/s3_service.rb
144
181
  - lib/active_storage/transformers/image_processing_transformer.rb
145
- - lib/active_storage/transformers/mini_magick_transformer.rb
146
182
  - lib/active_storage/transformers/transformer.rb
147
183
  - lib/active_storage/version.rb
148
184
  - lib/tasks/activestorage.rake
@@ -151,12 +187,11 @@ licenses:
151
187
  - MIT
152
188
  metadata:
153
189
  bug_tracker_uri: https://github.com/rails/rails/issues
154
- changelog_uri: https://github.com/rails/rails/blob/v6.0.6.1/activestorage/CHANGELOG.md
155
- documentation_uri: https://api.rubyonrails.org/v6.0.6.1/
190
+ changelog_uri: https://github.com/rails/rails/blob/v6.1.0.rc1/activestorage/CHANGELOG.md
191
+ documentation_uri: https://api.rubyonrails.org/v6.1.0.rc1/
156
192
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
157
- source_code_uri: https://github.com/rails/rails/tree/v6.0.6.1/activestorage
158
- rubygems_mfa_required: 'true'
159
- post_install_message:
193
+ source_code_uri: https://github.com/rails/rails/tree/v6.1.0.rc1/activestorage
194
+ post_install_message:
160
195
  rdoc_options: []
161
196
  require_paths:
162
197
  - lib
@@ -167,12 +202,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
167
202
  version: 2.5.0
168
203
  required_rubygems_version: !ruby/object:Gem::Requirement
169
204
  requirements:
170
- - - ">="
205
+ - - ">"
171
206
  - !ruby/object:Gem::Version
172
- version: '0'
207
+ version: 1.3.1
173
208
  requirements: []
174
- rubygems_version: 3.4.3
175
- signing_key:
209
+ rubygems_version: 3.1.4
210
+ signing_key:
176
211
  specification_version: 4
177
212
  summary: Local and cloud file storage framework.
178
213
  test_files: []
@@ -1,9 +0,0 @@
1
- class AddForeignKeyConstraintToActiveStorageAttachmentsForBlobId < ActiveRecord::Migration[6.0]
2
- def up
3
- return if foreign_key_exists?(:active_storage_attachments, column: :blob_id)
4
-
5
- if table_exists?(:active_storage_blobs)
6
- add_foreign_key :active_storage_attachments, :active_storage_blobs, column: :blob_id
7
- end
8
- end
9
- end