Class: ResourceUploader

Inherits:
CarrierWave::Uploader::Base
  • Object
show all
Includes:
CarrierWave::MiniMagick
Defined in:
app/uploaders/resource_uploader.rb

Instance Method Summary collapse

Instance Method Details

#check_image_content_type!(new_file) ⇒ Object



36
37
38
39
40
41
42
43
# File 'app/uploaders/resource_uploader.rb', line 36

def check_image_content_type!(new_file)
  if image?(new_file)
    magic_type = mime_magic_content_type(new_file)
    if magic_type != new_file.content_type
      raise CarrierWave::IntegrityError, "has MIME type mismatch"
    end
  end
end

#dynamic_resize_to_fit(size) ⇒ Object



25
26
27
28
29
# File 'app/uploaders/resource_uploader.rb', line 25

def dynamic_resize_to_fit(size)
  resize_setting = model.blog.send("image_#{size}_size").to_i

  resize_to_fit(resize_setting, resize_setting)
end

#image?(new_file) ⇒ Boolean

Returns:

  • (Boolean)


31
32
33
34
# File 'app/uploaders/resource_uploader.rb', line 31

def image?(new_file)
  content_type = new_file.content_type
  content_type&.include?("image")
end

#store_dirObject



9
10
11
# File 'app/uploaders/resource_uploader.rb', line 9

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