Sha256: a16040f19316698bf8186f8051925f05d9152eccfb2061f860f3f0598950564d

Contents?: true

Size: 665 Bytes

Versions: 13

Compression:

Stored size: 665 Bytes

Contents

module Ecom
  module Core
    class PhotoUploader < CarrierWave::Uploader::Base
      if Rails.env.production?
        storage :fog
      else
        storage :file
      end

      def store_dir
        "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
      end

      def extension_whitelist
        %w[jpg jpeg gif png]
      end

      def filename
        "#{secure_token}.#{file.extension}" if original_filename.present?
      end

      protected

      def secure_token
        var = :"@#{mounted_as}_secure_token"
        model.instance_variable_get(var) || model.instance_variable_set(var, SecureRandom.uuid)
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
ecom_core-1.3.11 app/uploaders/ecom/core/photo_uploader.rb
ecom_core-1.3.10 app/uploaders/ecom/core/photo_uploader.rb
ecom_core-1.3.9 app/uploaders/ecom/core/photo_uploader.rb
ecom_core-1.3.8 app/uploaders/ecom/core/photo_uploader.rb
ecom_core-1.3.7 app/uploaders/ecom/core/photo_uploader.rb
ecom_core-1.3.6 app/uploaders/ecom/core/photo_uploader.rb
ecom_core-1.3.5 app/uploaders/ecom/core/photo_uploader.rb
ecom_core-1.3.4 app/uploaders/ecom/core/photo_uploader.rb
ecom_core-1.3.3 app/uploaders/ecom/core/photo_uploader.rb
ecom_core-1.3.2 app/uploaders/ecom/core/photo_uploader.rb
ecom_core-1.3.1 app/uploaders/ecom/core/photo_uploader.rb
ecom_core-1.3.0 app/uploaders/ecom/core/photo_uploader.rb
ecom_core-1.2.36 app/uploaders/ecom/core/photo_uploader.rb