Sha256: 745fe6be0537f58ef5500fded648b1905301c991f9e98d57d092ffbed48c6aed

Contents?: true

Size: 847 Bytes

Versions: 55

Compression:

Stored size: 847 Bytes

Contents

class AssetUploader < CarrierWave::Uploader::Base
  include CarrierWave::RMagick

  storage :file

  def filename
    @name ||= "#{secure_token}.#{file.extension.downcase}" if original_filename
  end

  private

  def extension_white_list
    if model.image?
      Udongo.config.assets.image_white_list
    else
      (Udongo.config.assets.image_white_list + Udongo.config.assets.file_white_list).flatten
    end
  end

  def secure_token
    ivar = "@#{mounted_as}_secure_token"
    token = model.instance_variable_get(ivar)
    token ||= model.instance_variable_set(ivar, SecureRandom.hex(4))
  end

  def store_dir
    md5 = Digest::MD5.hexdigest(model.id.to_s)
    "uploads/assets/#{md5[0,2]}/#{md5[2,2]}"
  end

  def image?(new_file)
    new_file.content_type.include? 'image'
  end

  process resize_to_limit: [2560, 2560], if: :image?
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
udongo-7.9.0 app/uploaders/asset_uploader.rb
udongo-7.8.1 app/uploaders/asset_uploader.rb
udongo-7.8.0 app/uploaders/asset_uploader.rb
udongo-7.7.2 app/uploaders/asset_uploader.rb
udongo-7.7.1 app/uploaders/asset_uploader.rb
udongo-7.7.0 app/uploaders/asset_uploader.rb
udongo-7.6.2 app/uploaders/asset_uploader.rb
udongo-7.6.1 app/uploaders/asset_uploader.rb
udongo-7.6.0 app/uploaders/asset_uploader.rb
udongo-7.5.1 app/uploaders/asset_uploader.rb
udongo-7.5.0 app/uploaders/asset_uploader.rb
udongo-7.4.2 app/uploaders/asset_uploader.rb
udongo-7.4.1 app/uploaders/asset_uploader.rb
udongo-7.4.0 app/uploaders/asset_uploader.rb
udongo-7.3.5 app/uploaders/asset_uploader.rb
udongo-7.3.4 app/uploaders/asset_uploader.rb
udongo-7.3.3 app/uploaders/asset_uploader.rb
udongo-7.3.2 app/uploaders/asset_uploader.rb
udongo-7.3.1 app/uploaders/asset_uploader.rb
udongo-7.2.1 app/uploaders/asset_uploader.rb