Class: PostIllustrationUploader

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

Overview

Inline post image uploader

Instance Method Summary collapse

Instance Method Details

#default_urlObject



15
16
17
# File 'app/uploaders/post_illustration_uploader.rb', line 15

def default_url(*)
  ActionController::Base.helpers.asset_path('biovision/base/placeholders/3x2.svg')
end

#extension_whitelistObject

Add a white list of extensions which are allowed to be uploaded. For images you might use something like this:



41
42
43
# File 'app/uploaders/post_illustration_uploader.rb', line 41

def extension_whitelist
  %w[jpg jpeg png svg svgz]
end

#hd_urlObject



70
71
72
# File 'app/uploaders/post_illustration_uploader.rb', line 70

def hd_url
  raster? ? hd.url : url
end

#large_urlObject



66
67
68
# File 'app/uploaders/post_illustration_uploader.rb', line 66

def large_url
  raster? ? large.url : url
end

#medium_urlObject



62
63
64
# File 'app/uploaders/post_illustration_uploader.rb', line 62

def medium_url
  raster? ? medium.url : url
end

#preview_urlObject



54
55
56
# File 'app/uploaders/post_illustration_uploader.rb', line 54

def preview_url
  raster? ? preview.url : url
end

#raster?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'app/uploaders/post_illustration_uploader.rb', line 50

def raster?
  !File.extname(path).match?(/\.svgz?\z/i)
end

#raster_image?(new_file) ⇒ Boolean

Parameters:

  • (SanitizedFile)

Returns:

  • (Boolean)


46
47
48
# File 'app/uploaders/post_illustration_uploader.rb', line 46

def raster_image?(new_file)
  !new_file.extension.match?(/svgz?\z/i)
end

#small_urlObject



58
59
60
# File 'app/uploaders/post_illustration_uploader.rb', line 58

def small_url
  raster? ? small.url : url
end

#store_dirObject



9
10
11
12
13
# File 'app/uploaders/post_illustration_uploader.rb', line 9

def store_dir
  slug = "#{model.uuid[0..2]}/#{model.uuid[3..5]}"

  "post_illustrations/#{mounted_as}/#{slug}"
end