Class: Uploadcare::Rails::ActiveStorage::UploadcarePreviewer
- Inherits:
-
ActiveStorage::Previewer
- Object
- ActiveStorage::Previewer
- Uploadcare::Rails::ActiveStorage::UploadcarePreviewer
- Includes:
- Internal::RemoteHttpFetching
- Defined in:
- lib/uploadcare/rails/active_storage/uploadcare_previewer.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.accept?(blob) ⇒ Boolean
15 16 17 |
# File 'lib/uploadcare/rails/active_storage/uploadcare_previewer.rb', line 15 def accept?(blob) !!(uploadcare_blob?(blob) && pdf?(blob.content_type)) end |
.pdf?(content_type) ⇒ Boolean
25 26 27 |
# File 'lib/uploadcare/rails/active_storage/uploadcare_previewer.rb', line 25 def pdf?(content_type) Marcel::Magic.child?(content_type, "application/pdf") end |
.uploadcare_blob?(blob) ⇒ Boolean
19 20 21 22 23 |
# File 'lib/uploadcare/rails/active_storage/uploadcare_previewer.rb', line 19 def uploadcare_blob?(blob) blob.service.is_a?(::ActiveStorage::Service::UploadcareService) rescue NameError false end |
Instance Method Details
#preview(**options) ⇒ Object
30 31 32 33 34 |
# File 'lib/uploadcare/rails/active_storage/uploadcare_previewer.rb', line 30 def preview(**) open_preview_io(preview_url) do |output| yield io: output, filename: "#{blob.filename.base}.png", content_type: "image/png", ** end end |