Sha256: 5c110878381020ee6843ee1ef146b1592d427698022479e21ce5324b4ba43aba

Contents?: true

Size: 1.22 KB

Versions: 1

Compression:

Stored size: 1.22 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)
        if defined?(Rails)
          base.has_mongoid_attached_file(:file)
        else
          base.has_mongoid_attached_file(:file, path: "#{File.dirname(__FILE__)}/../../uploads/:filename", url: '/uploads/:filename')
        end
        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

1 entries across 1 versions & 1 rubygems

Version Path
rails_admin_settings-0.5.4 lib/rails_admin_settings/uploads.rb