activestorage 7.0.0.rc1 → 7.0.1
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.
Potentially problematic release.
This version of activestorage might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +28 -0
- data/MIT-LICENSE +1 -1
- data/app/controllers/active_storage/blobs/proxy_controller.rb +2 -2
- data/app/controllers/active_storage/blobs/redirect_controller.rb +1 -1
- data/app/controllers/active_storage/representations/proxy_controller.rb +2 -2
- data/app/controllers/active_storage/representations/redirect_controller.rb +1 -1
- data/app/models/active_storage/variant.rb +3 -3
- data/app/models/active_storage/variation.rb +1 -1
- data/db/update_migrate/20191206030411_create_active_storage_variant_records.rb +1 -1
- data/lib/active_storage/attached/model.rb +4 -2
- data/lib/active_storage/engine.rb +12 -0
- data/lib/active_storage/gem_version.rb +2 -2
- data/lib/active_storage/previewer/video_previewer.rb +2 -0
- data/lib/active_storage.rb +1 -1
- metadata +16 -16
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: e336ca1d9ad086dd4cc7ddf18138ad28689e3a612768e3dc9eb1e6036f966c1d
         | 
| 4 | 
            +
              data.tar.gz: 1678a62fc1662b30758a009b618c8bf4cd2dfaf9d59d53d7d1c0b41e1328229e
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 36e6731b1a41e94c8d803b58cf66ca3d2489beae1739a15d28c621ee2eb77d4d1ae6c757efd3b725a48dc774161dd8fc5762400acaa0c2fbbf0698a500ac1b42
         | 
| 7 | 
            +
              data.tar.gz: 6e9c32f8b03fdb3e8949ceba091c30295f9558ff06710accc71fc28bfc0ca3eb49ed5c2f17dabeb83411865983c8abb129e37e35319d678cadce0614d916a00d
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,3 +1,31 @@ | |
| 1 | 
            +
            ## Rails 7.0.1 (January 06, 2022) ##
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            *   No changes.
         | 
| 4 | 
            +
             | 
| 5 | 
            +
             | 
| 6 | 
            +
            ## Rails 7.0.0 (December 15, 2021) ##
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            *   Support transforming empty-ish `has_many_attached` value into `[]` (e.g. `[""]`).
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                ```ruby
         | 
| 11 | 
            +
                @user.highlights = [""]
         | 
| 12 | 
            +
                @user.highlights # => []
         | 
| 13 | 
            +
                ```
         | 
| 14 | 
            +
             | 
| 15 | 
            +
                *Sean Doyle*
         | 
| 16 | 
            +
             | 
| 17 | 
            +
             | 
| 18 | 
            +
            ## Rails 7.0.0.rc3 (December 14, 2021) ##
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            *   No changes.
         | 
| 21 | 
            +
             | 
| 22 | 
            +
             | 
| 23 | 
            +
            ## Rails 7.0.0.rc2 (December 14, 2021) ##
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            *   No changes.
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            ## Rails 7.0.0.rc1 (December 06, 2021) ##
         | 
| 28 | 
            +
             | 
| 1 29 | 
             
            *   `Add ActiveStorage::Blob.compose` to concatenate multiple blobs.
         | 
| 2 30 |  | 
| 3 31 | 
             
                *Gannon McGibbon*
         | 
    
        data/MIT-LICENSE
    CHANGED
    
    
| @@ -5,7 +5,7 @@ | |
| 5 5 | 
             
            # WARNING: All Active Storage controllers are publicly accessible by default. The
         | 
| 6 6 | 
             
            # generated URLs are hard to guess, but permanent by design. If your files
         | 
| 7 7 | 
             
            # require a higher level of protection consider implementing
         | 
| 8 | 
            -
            # {Authenticated Controllers}[https:// | 
| 8 | 
            +
            # {Authenticated Controllers}[https://guides.rubyonrails.org/active_storage_overview.html#authenticated-controllers].
         | 
| 9 9 | 
             
            class ActiveStorage::Blobs::ProxyController < ActiveStorage::BaseController
         | 
| 10 10 | 
             
              include ActiveStorage::SetBlob
         | 
| 11 11 |  | 
| @@ -17,7 +17,7 @@ class ActiveStorage::Blobs::ProxyController < ActiveStorage::BaseController | |
| 17 17 | 
             
                    response.headers["Accept-Ranges"] = "bytes"
         | 
| 18 18 | 
             
                    response.headers["Content-Length"] = @blob.byte_size.to_s
         | 
| 19 19 |  | 
| 20 | 
            -
                    send_blob_stream @blob
         | 
| 20 | 
            +
                    send_blob_stream @blob, disposition: params[:disposition]
         | 
| 21 21 | 
             
                  end
         | 
| 22 22 | 
             
                end
         | 
| 23 23 | 
             
              end
         | 
| @@ -5,7 +5,7 @@ | |
| 5 5 | 
             
            # WARNING: All Active Storage controllers are publicly accessible by default. The
         | 
| 6 6 | 
             
            # generated URLs are hard to guess, but permanent by design. If your files
         | 
| 7 7 | 
             
            # require a higher level of protection consider implementing
         | 
| 8 | 
            -
            # {Authenticated Controllers}[https:// | 
| 8 | 
            +
            # {Authenticated Controllers}[https://guides.rubyonrails.org/active_storage_overview.html#authenticated-controllers].
         | 
| 9 9 | 
             
            class ActiveStorage::Blobs::RedirectController < ActiveStorage::BaseController
         | 
| 10 10 | 
             
              include ActiveStorage::SetBlob
         | 
| 11 11 |  | 
| @@ -5,11 +5,11 @@ | |
| 5 5 | 
             
            # WARNING: All Active Storage controllers are publicly accessible by default. The
         | 
| 6 6 | 
             
            # generated URLs are hard to guess, but permanent by design. If your files
         | 
| 7 7 | 
             
            # require a higher level of protection consider implementing
         | 
| 8 | 
            -
            # {Authenticated Controllers}[https:// | 
| 8 | 
            +
            # {Authenticated Controllers}[https://guides.rubyonrails.org/active_storage_overview.html#authenticated-controllers].
         | 
| 9 9 | 
             
            class ActiveStorage::Representations::ProxyController < ActiveStorage::Representations::BaseController
         | 
| 10 10 | 
             
              def show
         | 
| 11 11 | 
             
                http_cache_forever public: true do
         | 
| 12 | 
            -
                  send_blob_stream @representation.image
         | 
| 12 | 
            +
                  send_blob_stream @representation.image, disposition: params[:disposition]
         | 
| 13 13 | 
             
                end
         | 
| 14 14 | 
             
              end
         | 
| 15 15 | 
             
            end
         | 
| @@ -5,7 +5,7 @@ | |
| 5 5 | 
             
            # WARNING: All Active Storage controllers are publicly accessible by default. The
         | 
| 6 6 | 
             
            # generated URLs are hard to guess, but permanent by design. If your files
         | 
| 7 7 | 
             
            # require a higher level of protection consider implementing
         | 
| 8 | 
            -
            # {Authenticated Controllers}[https:// | 
| 8 | 
            +
            # {Authenticated Controllers}[https://guides.rubyonrails.org/active_storage_overview.html#authenticated-controllers].
         | 
| 9 9 | 
             
            class ActiveStorage::Representations::RedirectController < ActiveStorage::Representations::BaseController
         | 
| 10 10 | 
             
              def show
         | 
| 11 11 | 
             
                expires_in ActiveStorage.service_urls_expire_in
         | 
| @@ -4,7 +4,7 @@ | |
| 4 4 | 
             
            # These variants are used to create thumbnails, fixed-size avatars, or any other derivative image from the
         | 
| 5 5 | 
             
            # original.
         | 
| 6 6 | 
             
            #
         | 
| 7 | 
            -
            # Variants rely on {ImageProcessing}[https://github.com/janko | 
| 7 | 
            +
            # Variants rely on {ImageProcessing}[https://github.com/janko/image_processing] gem for the actual transformations
         | 
| 8 8 | 
             
            # of the file, so you must add <tt>gem "image_processing"</tt> to your Gemfile if you wish to use variants. By
         | 
| 9 9 | 
             
            # default, images will be processed with {ImageMagick}[http://imagemagick.org] using the
         | 
| 10 10 | 
             
            # {MiniMagick}[https://github.com/minimagick/minimagick] gem, but you can also switch to the
         | 
| @@ -46,9 +46,9 @@ | |
| 46 46 | 
             
            #
         | 
| 47 47 | 
             
            # Visit the following links for a list of available ImageProcessing commands and ImageMagick/libvips operations:
         | 
| 48 48 | 
             
            #
         | 
| 49 | 
            -
            # * {ImageProcessing::MiniMagick}[https://github.com/janko | 
| 49 | 
            +
            # * {ImageProcessing::MiniMagick}[https://github.com/janko/image_processing/blob/master/doc/minimagick.md#methods]
         | 
| 50 50 | 
             
            # * {ImageMagick reference}[https://www.imagemagick.org/script/mogrify.php]
         | 
| 51 | 
            -
            # * {ImageProcessing::Vips}[https://github.com/janko | 
| 51 | 
            +
            # * {ImageProcessing::Vips}[https://github.com/janko/image_processing/blob/master/doc/vips.md#methods]
         | 
| 52 52 | 
             
            # * {ruby-vips reference}[http://www.rubydoc.info/gems/ruby-vips/Vips/Image]
         | 
| 53 53 | 
             
            class ActiveStorage::Variant
         | 
| 54 54 | 
             
              attr_reader :blob, :variation
         | 
| @@ -10,7 +10,7 @@ require "mini_mime" | |
| 10 10 | 
             
            #
         | 
| 11 11 | 
             
            #   ActiveStorage::Variation.new(resize_to_limit: [100, 100], colourspace: "b-w", rotate: "-90", saver: { trim: true })
         | 
| 12 12 | 
             
            #
         | 
| 13 | 
            -
            # The options map directly to {ImageProcessing}[https://github.com/janko | 
| 13 | 
            +
            # The options map directly to {ImageProcessing}[https://github.com/janko/image_processing] commands.
         | 
| 14 14 | 
             
            class ActiveStorage::Variation
         | 
| 15 15 | 
             
              attr_reader :transformations
         | 
| 16 16 |  | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            class CreateActiveStorageVariantRecords < ActiveRecord::Migration[6.0]
         | 
| 2 2 | 
             
              def change
         | 
| 3 3 | 
             
                # Use Active Record's configured type for primary key
         | 
| 4 | 
            -
                create_table :active_storage_variant_records, id: primary_key_type do |t|
         | 
| 4 | 
            +
                create_table :active_storage_variant_records, id: primary_key_type, if_not_exists: true do |t|
         | 
| 5 5 | 
             
                  t.belongs_to :blob, null: false, index: false, type: blobs_primary_key_type
         | 
| 6 6 | 
             
                  t.string :variation_digest, null: false
         | 
| 7 7 |  | 
| @@ -137,9 +137,11 @@ module ActiveStorage | |
| 137 137 | 
             
                      end
         | 
| 138 138 |  | 
| 139 139 | 
             
                      def #{name}=(attachables)
         | 
| 140 | 
            +
                        attachables = Array(attachables).compact_blank
         | 
| 141 | 
            +
             | 
| 140 142 | 
             
                        if ActiveStorage.replace_on_assign_to_many
         | 
| 141 143 | 
             
                          attachment_changes["#{name}"] =
         | 
| 142 | 
            -
                            if  | 
| 144 | 
            +
                            if attachables.none?
         | 
| 143 145 | 
             
                              ActiveStorage::Attached::Changes::DeleteMany.new("#{name}", self)
         | 
| 144 146 | 
             
                            else
         | 
| 145 147 | 
             
                              ActiveStorage::Attached::Changes::CreateMany.new("#{name}", self, attachables)
         | 
| @@ -151,7 +153,7 @@ module ActiveStorage | |
| 151 153 | 
             
                            "To append new attachables to the Active Storage association, prefer using `attach`. " \
         | 
| 152 154 | 
             
                            "Using association setter would result in purging the existing attached attachments and replacing them with new ones."
         | 
| 153 155 |  | 
| 154 | 
            -
                          if  | 
| 156 | 
            +
                          if attachables.any?
         | 
| 155 157 | 
             
                            attachment_changes["#{name}"] =
         | 
| 156 158 | 
             
                              ActiveStorage::Attached::Changes::CreateMany.new("#{name}", self, #{name}.blobs + attachables)
         | 
| 157 159 | 
             
                          end
         | 
| @@ -154,6 +154,18 @@ module ActiveStorage | |
| 154 154 | 
             
                  end
         | 
| 155 155 | 
             
                end
         | 
| 156 156 |  | 
| 157 | 
            +
                initializer "action_view.configuration" do
         | 
| 158 | 
            +
                  config.after_initialize do |app|
         | 
| 159 | 
            +
                    ActiveSupport.on_load(:action_view) do
         | 
| 160 | 
            +
                      multiple_file_field_include_hidden = app.config.active_storage.delete(:multiple_file_field_include_hidden)
         | 
| 161 | 
            +
             | 
| 162 | 
            +
                      unless multiple_file_field_include_hidden.nil?
         | 
| 163 | 
            +
                        ActionView::Helpers::FormHelper.multiple_file_field_include_hidden = multiple_file_field_include_hidden
         | 
| 164 | 
            +
                      end
         | 
| 165 | 
            +
                    end
         | 
| 166 | 
            +
                  end
         | 
| 167 | 
            +
                end
         | 
| 168 | 
            +
             | 
| 157 169 | 
             
                initializer "active_storage.asset" do
         | 
| 158 170 | 
             
                  if Rails.application.config.respond_to?(:assets)
         | 
| 159 171 | 
             
                    Rails.application.config.assets.precompile += %w( activestorage activestorage.esm )
         | 
    
        data/lib/active_storage.rb
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 3 | 
             
            #--
         | 
| 4 | 
            -
            # Copyright (c) 2017- | 
| 4 | 
            +
            # Copyright (c) 2017-2022 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
         | 
    
        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: 7.0. | 
| 4 | 
            +
              version: 7.0.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - David Heinemeier Hansson
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2022-01-06 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: 7.0. | 
| 19 | 
            +
                    version: 7.0.1
         | 
| 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: 7.0. | 
| 26 | 
            +
                    version: 7.0.1
         | 
| 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: 7.0. | 
| 33 | 
            +
                    version: 7.0.1
         | 
| 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: 7.0. | 
| 40 | 
            +
                    version: 7.0.1
         | 
| 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: 7.0. | 
| 47 | 
            +
                    version: 7.0.1
         | 
| 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: 7.0. | 
| 54 | 
            +
                    version: 7.0.1
         | 
| 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: 7.0. | 
| 61 | 
            +
                    version: 7.0.1
         | 
| 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: 7.0. | 
| 68 | 
            +
                    version: 7.0.1
         | 
| 69 69 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 70 70 | 
             
              name: marcel
         | 
| 71 71 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -199,10 +199,10 @@ licenses: | |
| 199 199 | 
             
            - MIT
         | 
| 200 200 | 
             
            metadata:
         | 
| 201 201 | 
             
              bug_tracker_uri: https://github.com/rails/rails/issues
         | 
| 202 | 
            -
              changelog_uri: https://github.com/rails/rails/blob/v7.0. | 
| 203 | 
            -
              documentation_uri: https://api.rubyonrails.org/v7.0. | 
| 202 | 
            +
              changelog_uri: https://github.com/rails/rails/blob/v7.0.1/activestorage/CHANGELOG.md
         | 
| 203 | 
            +
              documentation_uri: https://api.rubyonrails.org/v7.0.1/
         | 
| 204 204 | 
             
              mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
         | 
| 205 | 
            -
              source_code_uri: https://github.com/rails/rails/tree/v7.0. | 
| 205 | 
            +
              source_code_uri: https://github.com/rails/rails/tree/v7.0.1/activestorage
         | 
| 206 206 | 
             
              rubygems_mfa_required: 'true'
         | 
| 207 207 | 
             
            post_install_message: 
         | 
| 208 208 | 
             
            rdoc_options: []
         | 
| @@ -215,11 +215,11 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 215 215 | 
             
                  version: 2.7.0
         | 
| 216 216 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 217 217 | 
             
              requirements:
         | 
| 218 | 
            -
              - - " | 
| 218 | 
            +
              - - ">="
         | 
| 219 219 | 
             
                - !ruby/object:Gem::Version
         | 
| 220 | 
            -
                  version:  | 
| 220 | 
            +
                  version: '0'
         | 
| 221 221 | 
             
            requirements: []
         | 
| 222 | 
            -
            rubygems_version: 3.2. | 
| 222 | 
            +
            rubygems_version: 3.2.32
         | 
| 223 223 | 
             
            signing_key: 
         | 
| 224 224 | 
             
            specification_version: 4
         | 
| 225 225 | 
             
            summary: Local and cloud file storage framework.
         |