class ActiveStorage::Attached::Changes::CreateOne
def find_or_build_blob
def find_or_build_blob case attachable when ActiveStorage::Blob attachable when ActionDispatch::Http::UploadedFile, Rack::Test::UploadedFile ActiveStorage::Blob.build_after_unfurling \ io: attachable.open, filename: attachable.original_filename, content_type: attachable.content_type when Hash ActiveStorage::Blob.build_after_unfurling(attachable) when String ActiveStorage::Blob.find_signed(attachable) else raise ArgumentError, "Could not find or build blob: expected attachable, got #{attachable.inspect}" end end