activescaffold/active_scaffold

View on GitHub
lib/active_scaffold/bridges/dragonfly/dragonfly_bridge.rb

Summary

Maintainability
A
15 mins
Test Coverage
F
0%
module ActiveScaffold
  module Bridges
    class Dragonfly
      module DragonflyBridge
        def initialize(model_id)
          super
          return unless model.respond_to?(:dragonfly_attachment_classes) && model.dragonfly_attachment_classes.present?

          update.multipart = true
          create.multipart = true

          model.dragonfly_attachment_classes.each do |attachment|
            configure_dragonfly_field(attachment.attribute)
          end
        end

        private

        def configure_dragonfly_field(field)
          columns << field
          columns[field].form_ui ||= :dragonfly
          columns[field].params.add "remove_#{field}"

          %i[name uid].each do |f|
            columns.exclude("#{field}_#{f}".to_sym)
          end
        end
      end
    end
  end
end