Sha256: 62effe401319396016831c24974315840ad1cb13c1460d5e3b91e10bae91e696
Contents?: true
Size: 1.22 KB
Versions: 17
Compression:
Stored size: 1.22 KB
Contents
module Symphonia class Image < Attachment class_attribute :paperclip_options def self.image_styles Symphonia.config[:paperclip_styles] || { tiny_thumb: '120x120>', thumb: '200x200>', medium: '400x300>', large: '800x600>', original: '1280x800>' } end has_attached_file(:attachment, { styles: image_styles, url: :paperclip_attachment_url, convert_options: { thumb: '-strip -quality 75', tiny_thumb: '-strip -quality 75', large: '-strip -quality 90' } }) before_post_process :transliterate_file_name validates_attachment :attachment, presence: true, content_type: { content_type: %w(image/jpeg image/jpg image/JPG image/png image/gif)}, size: {in: 0..5.megabytes} def url(variant = :original) attachment.url(variant) end private def paperclip_attachment_url paperclip_options.try(:[], :url) || Paperclip::Attachment.default_options[:url] end def transliterate_file_name extension = File.extname(attachment_file_name).remove('.') filename = File.basename(attachment_file_name, '.*') self.attachment.instance_write(:file_name, "#{filename.parameterize}.#{extension}") end end end
Version data entries
17 entries across 17 versions & 1 rubygems