Sha256: 381843fdb372239ab4fcca67a0239ef4605cc4755e31c1c84cb5b092d7920177

Contents?: true

Size: 1.36 KB

Versions: 2

Compression:

Stored size: 1.36 KB

Contents

module ActiveScaffold
  module Bridges
    module Carrierwave
      module Lib
        module CarrierwaveBridge
          def initialize_with_carrierwave(model_id)
            initialize_without_carrierwave(model_id)
            return unless self.model.respond_to?(:uploaders) && self.model.uploaders.present?
      
            self.update.multipart = true
            self.create.multipart = true
      
            self.model.uploaders.keys.each do |field|
              configure_carrierwave_field(field.to_sym)
              # define the "delete" helper for use with active scaffold, unless it's already defined
              ActiveScaffold::Bridges::Carrierwave::Lib::CarrierwaveBridgeHelpers.generate_delete_helper(self.model, field)
            end
          end
      
          def self.included(base)
            base.alias_method_chain :initialize, :carrierwave
          end
      
          private
          def configure_carrierwave_field(field)
            self.columns << field
            self.columns[field].form_ui ||= :carrierwave
            self.columns[field].params.add "#{field}_cache"
            self.columns[field].params.add "delete_#{field}"
      
#            [:file_name, :content_type, :file_size, :updated_at].each do |f|
#              self.columns.exclude("#{field}_#{f}".to_sym)
#            end
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
active_scaffold_vho-3.0.12 lib/active_scaffold/bridges/carrierwave/lib/carrierwave_bridge.rb
active_scaffold_vho-3.0.11 lib/active_scaffold/bridges/carrierwave/lib/carrierwave_bridge.rb