Sha256: 8fa562d29f814d53653b701ec3a363f876c1a9ea519233b0bef531bbca212171

Contents?: true

Size: 1.06 KB

Versions: 6

Compression:

Stored size: 1.06 KB

Contents

module RailsAdminSettings
  module Uploads
    autoload :CarrierWave, "rails_admin_settings/storage/carrierwave"

    def self.included(base)
      # carrierwave
      if base.respond_to?(:mount_uploader)
        # puts "[rails_admin_settings] CarrierWave detected"
        base.field(:file, type: String)
        base.mount_uploader(:file, RailsAdminSettings::Uploads::CarrierWave)
        Settings.file_uploads_supported = true
        Settings.file_uploads_engine = :carrierwave
      # paperclip
      elsif Mongoid.const_defined?('Paperclip')
        base.send(:include, Mongoid::Paperclip)
        # puts "[rails_admin_settings] PaperClip detected"
        base.field(:file, type: String)
        base.has_mongoid_attached_file(:file)
        base.send(:attr_accessor, :delete_file)
        base.before_validation { self.file.clear if self.delete_file == '1' }

        Settings.file_uploads_supported = true
        Settings.file_uploads_engine = :paperclip
      else
        # puts "[rails_admin_settings] Uploads disabled"
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rails_admin_settings-0.5.0 lib/rails_admin_settings/uploads.rb
rails_admin_settings-0.4.3 lib/rails_admin_settings/uploads.rb
rails_admin_settings-0.4.2 lib/rails_admin_settings/uploads.rb
rails_admin_settings-0.4.1 lib/rails_admin_settings/uploads.rb
rails_admin_settings-0.4.0 lib/rails_admin_settings/uploads.rb
rails_admin_settings-0.3.9 lib/rails_admin_settings/uploads.rb