Class: SimpleImageUploader

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

Overview

Uploader for universal simple images

Constant Summary

Constants included from CarrierWave::ImageOptim

CarrierWave::ImageOptim::DEFAULT_OPTIONS

Instance Method Summary collapse

Methods included from CarrierWave::ImageOptim

#optimize

Instance Method Details

#alt_text(default = '') ⇒ String

Text for image alt attribute

Parameters:

  • default (String) (defaults to: '')

Returns:

  • (String)


63
64
65
66
67
68
69
70
# File 'app/uploaders/simple_image_uploader.rb', line 63

def alt_text(default = '')
  method_name = "#{mounted_as}_alt_text".to_sym
  if model.respond_to?(method_name)
    model.send(method_name)
  else
    default
  end
end

#auto_orientObject



21
22
23
24
25
26
27
# File 'app/uploaders/simple_image_uploader.rb', line 21

def auto_orient
  return unless raster?

  manipulate! do |image|
    image.tap(&:auto_orient)
  end
end

#default_urlObject



14
15
16
# File 'app/uploaders/simple_image_uploader.rb', line 14

def default_url(*)
  ActionController::Base.helpers.asset_path('biovision/placeholders/1x1.svg')
end

#extension_whitelistObject

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



55
56
57
# File 'app/uploaders/simple_image_uploader.rb', line 55

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

#hd_urlObject



107
108
109
# File 'app/uploaders/simple_image_uploader.rb', line 107

def hd_url
  raster? ? hd.url : url
end

#large_urlObject



103
104
105
# File 'app/uploaders/simple_image_uploader.rb', line 103

def large_url
  raster? ? large.url : url
end

#medium_urlObject



99
100
101
# File 'app/uploaders/simple_image_uploader.rb', line 99

def medium_url
  raster? ? medium.url : url
end

#optimize_images?Boolean

Returns:

  • (Boolean)


77
78
79
80
81
# File 'app/uploaders/simple_image_uploader.rb', line 77

def optimize_images?(*)
  return false unless Rails.application.config.respond_to? :optimize_images

  Rails.application.config.optimize_images
end

#preview_urlObject



91
92
93
# File 'app/uploaders/simple_image_uploader.rb', line 91

def preview_url
  raster? ? preview.url : url
end

#raster?Boolean

Returns:

  • (Boolean)


83
84
85
# File 'app/uploaders/simple_image_uploader.rb', line 83

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

#raster_image?(new_file) ⇒ Boolean

Parameters:

  • (SanitizedFile)

Returns:

  • (Boolean)


73
74
75
# File 'app/uploaders/simple_image_uploader.rb', line 73

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

#small_urlObject



95
96
97
# File 'app/uploaders/simple_image_uploader.rb', line 95

def small_url
  raster? ? small.url : url
end

#store_dirObject



10
11
12
# File 'app/uploaders/simple_image_uploader.rb', line 10

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

#tiny_urlObject



87
88
89
# File 'app/uploaders/simple_image_uploader.rb', line 87

def tiny_url
  raster? ? tiny.url : url
end