method
find_or_build_blob
v6.1.7.7 -
Show latest stable
- Class:
ActiveStorage::Attached::Changes::CreateOne
find_or_build_blob()private
No documentation available.
# File activestorage/lib/active_storage/attached/changes/create_one.rb, line 52
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,
record: record,
service_name: attachment_service_name
)
when Hash
ActiveStorage::Blob.build_after_unfurling(
**attachable.reverse_merge(
record: record,
service_name: attachment_service_name
).symbolize_keys
)
when String
ActiveStorage::Blob.find_signed!(attachable, record: record)
else
raise ArgumentError, "Could not find or build blob: expected attachable, got #{attachable.inspect}"
end
end