Class: SimpleImageUploader

Inherits:
CarrierWave::Uploader::Base
  • Object
show all
Includes:
CarrierWave::ImageOptim, CarrierWave::MiniMagick, Uploaders::PathSlug
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

Methods included from Uploaders::PathSlug

#store_dir

Instance Method Details

#alt_text(default = '') ⇒ String

Text for image alt attribute

Parameters:

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

Returns:

  • (String)


58
59
60
61
62
63
64
65
# File 'app/uploaders/simple_image_uploader.rb', line 58

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



18
19
20
21
22
23
24
# File 'app/uploaders/simple_image_uploader.rb', line 18

def auto_orient
  return unless raster?

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

#default_urlObject



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

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

#extension_allowlistObject



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

def extension_allowlist
  [/jpe?g/, 'png', /svgz?/]
end

#hd_urlObject



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

def hd_url
  raster? ? hd.url : url
end

#large_urlObject



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

def large_url
  raster? ? large.url : url
end

#medium_urlObject



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

def medium_url
  raster? ? medium.url : url
end

#optimize_images?Boolean

Returns:

  • (Boolean)


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

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

  Rails.application.config.optimize_images
end

#preview_urlObject



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

def preview_url
  raster? ? preview.url : url
end

#raster?Boolean

Returns:

  • (Boolean)


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

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

#raster_image?(new_file) ⇒ Boolean

Parameters:

  • (SanitizedFile)

Returns:

  • (Boolean)


68
69
70
# File 'app/uploaders/simple_image_uploader.rb', line 68

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

#small_urlObject



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

def small_url
  raster? ? small.url : url
end

#tiny_urlObject



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

def tiny_url
  raster? ? tiny.url : url
end