# See also: https://github.com/erikdahlstrand/shrine-rails-example/blob/master/config/initializers/shrine.rb require "shrine" require "shrine/storage/file_system" # both `cache` and `store` storages are needed Shrine.storages = { # Saves to ./public/screenshot/ID/image/… cache: Shrine::Storage::FileSystem.new("public", prefix: "cache"), store: Shrine::Storage::FileSystem.new("public", prefix: "shrine"), } # See plugin documentation at https://shrinerb.com/docs/plugins/activerecord # Persist images. Promote from :cache to :store when Screenshot.save is called. # Delete files if the Screenshot get destroyed. Shrine.plugin :activerecord Shrine.plugin :instrumentation Shrine.plugin :determine_mime_type, analyzer: :marcel, log_subscriber: nil Shrine.plugin :cached_attachment_data Shrine.plugin :restore_cached_data Shrine.plugin :derivatives # up front processing # Shrine.plugin :derivation_endpoint, # on-the-fly processing # secret_key: Rails.application.secret_key_base