Sha256: e71caef622a21e9e1f7e8489cd336ca39c0e67089b8dc7324143180949470fc8

Contents?: true

Size: 1.17 KB

Versions: 10

Compression:

Stored size: 1.17 KB

Contents

# грузит лого компании
module C80NewsTz
  class ClogoUploader < CarrierWave::Uploader::Base

    include CarrierWave::MiniMagick

    storage :file

    process :resize_to_limit => [500,500]

    version :thumb_fit do
      process :resize_to_fit => [124,124]
    end

    version :thumb_fill do
      process :resize_to_fill => [124,74]
    end

    version :thumb_preview_small do
      process :resize_to_fit => [80, 44]
    end

    version :thumb_preview_medium do
      process :resize_to_fit => [80, 44]
    end

    # идёт в блок "главная публикация", что на главной
    version :thumb_preview_big do
      process :resize_to_fit => [124, 124]
    end

    def store_dir
      "uploads/companies/_logos/#{format("%02d", model.id)}"
    end

    def extension_white_list
      %w(jpg jpeg gif png)
    end

    def filename
      if original_filename
        "logo_#{secure_token(4)}.#{file.extension}"
      end
    end

    protected
    def secure_token(length=16)
      var = :"@#{mounted_as}_secure_token"
      model.instance_variable_get(var) or model.instance_variable_set(var, SecureRandom.hex(length/2))
    end


  end

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
c80_news_tz-0.1.1.25 app/uploaders/c80_news_tz/clogo_uploader.rb
c80_news_tz-0.1.1.24 app/uploaders/c80_news_tz/clogo_uploader.rb
c80_news_tz-0.1.1.23 app/uploaders/c80_news_tz/clogo_uploader.rb
c80_news_tz-0.1.1.22 app/uploaders/c80_news_tz/clogo_uploader.rb
c80_news_tz-0.1.1.21 app/uploaders/c80_news_tz/clogo_uploader.rb
c80_news_tz-0.1.1.19 app/uploaders/c80_news_tz/clogo_uploader.rb
c80_news_tz-0.1.1.18 app/uploaders/c80_news_tz/clogo_uploader.rb
c80_news_tz-0.1.1.17 app/uploaders/c80_news_tz/clogo_uploader.rb
c80_news_tz-0.1.1.16 app/uploaders/c80_news_tz/clogo_uploader.rb
c80_news_tz-0.1.1.15 app/uploaders/c80_news_tz/clogo_uploader.rb