diff --git a/app/models/post/image_uploader.rb b/app/models/post/image_uploader.rb deleted file mode 100644 index 61837a6..0000000 --- a/app/models/post/image_uploader.rb +++ /dev/null @@ -1,62 +0,0 @@ -# frozen_string_literal: true - -# Una clase que permite adjuntar imágenes a artículos -class Post::ImageUploader < CarrierWave::Uploader::Base - include CarrierWave::MiniMagick - - attr_accessor :site - - process :strip - process resize_to_limit: [1280, 1280] - - version :thumb do - process :strip - process resize_to_fit: [200, 200] - end - - def strip - manipulate! do |img| - img.strip - img - end - end - - # Necesitamos pasar el sitio para poder acceder a los archivos locales - def initialize(site, wtf = nil) - super - - @site = site - end - - # Solo aceptamos imágenes - def content_type_whitelist - %r{\Aimage/} - end - - # Devuelve la ubicación del directorio dentro de Jekyll, para eso, - # tenemos que tener acceso al sitio que estamos editando - def store_dir - File.join site.path, 'public', 'images' - end - - # Almacenar en el 'tmp' local - def cache_dir - File.join Rails.root, 'tmp', 'images' - end - - # XXX los nombres de los archivos siempre son únicos, no chequeamos si - # están repetidos. - def filename - current_filename = parent_version.try(:filename) || file.try(:filename) - @unique_filename ||= if /\A(thumb_)?[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\..*\Z/.match?(current_filename) - current_filename - else - [SecureRandom.uuid, '.', file.extension].join - end - end - - # Obtener la URL dentro del proyecto de Jekyll - def url - CGI.unescape(super).remove site.path - end -end