Update ActiveStorage non-persistent models and concerns

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Won't Do
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Rails
    • None
    • Ruby Drivers
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      ActiveStorage declares several non-schema models, used purely for encapsulating business logic and operating on other (data-derived) models. Most of these (e.g. ActiveStorage::Current, ActiveStorage::Filename, ActiveStorage::Variant, and ActiveStorage::Variation) are database-agnostic and will suffice as-is. Some will require closer consideration.

      1. ActiveStorage::Preview is mostly database-agnostic but does invoke ActiveRecord::Base.connected_to at one point in order to direct subsequent queries to an appropriate writable database.
      2. ActiveStorage::VariantWithRecord is also mostly database-agnostic but also invokes ActiveRecord::Base.connected_to at one point.
      3. ActiveStorage::Blob::Representable has several hooks that invoke background jobs (see “ActiveStorage Background Jobs,” below) as well as association and lifecycle declarations that are added when the concern is included. It may not be possible to incrementally modify this concern; in the worst case, we will simply copy it and make the necessary changes in the copy.

              Assignee:
              Unassigned
              Reporter:
              Jamis Buck
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: