Module: Uploadcare::Rails::ActiveStorage::Integration

Defined in:
lib/uploadcare/rails/active_storage/integration.rb

Overview

:nodoc:

Class Method Summary collapse

Class Method Details

.install!(previewers:) ⇒ Object



13
14
15
16
# File 'lib/uploadcare/rails/active_storage/integration.rb', line 13

def install!(previewers:)
  install_previewer(previewers)
  install_variant_remote_processing
end

.install_previewer(previewers) ⇒ Object



18
19
20
21
22
23
# File 'lib/uploadcare/rails/active_storage/integration.rb', line 18

def install_previewer(previewers)
  return if previewers.nil?
  return if previewers.include?(Uploadcare::Rails::ActiveStorage::UploadcarePreviewer)

  previewers.unshift(Uploadcare::Rails::ActiveStorage::UploadcarePreviewer)
end

.install_variant_remote_processingObject



25
26
27
28
# File 'lib/uploadcare/rails/active_storage/integration.rb', line 25

def install_variant_remote_processing
  prepend_variant_processing(::ActiveStorage::Variant) if defined?(::ActiveStorage::Variant)
  prepend_variant_processing(::ActiveStorage::VariantWithRecord) if defined?(::ActiveStorage::VariantWithRecord)
end

.prepend_variant_processing(variant_class) ⇒ Object



30
31
32
33
34
# File 'lib/uploadcare/rails/active_storage/integration.rb', line 30

def prepend_variant_processing(variant_class)
  return if variant_class < Uploadcare::Rails::ActiveStorage::VariantRemoteProcessing

  variant_class.prepend(Uploadcare::Rails::ActiveStorage::VariantRemoteProcessing)
end