Sha256: 9f13577c44eeea3d0d11a2cb77a36f3bee73dab0c956d079b29d35d4f5dd0e0a
Contents?: true
Size: 983 Bytes
Versions: 4
Compression:
Stored size: 983 Bytes
Contents
require 'cgi' require 'murlsh' module Murlsh # Set the thumbnail of s3 hosted images. class AddPre60S3Image < Plugin @hook = 'add_pre' S3ImageRe = %r{^(http://static\.mmb\.s3\.amazonaws\.com/)([\w\-]+)\.(jpe?g|gif|pdf|png)$}i StorageDir = File.join(File.dirname(__FILE__), '..', 'public', 'img', 'thumb') def self.run(url, config) if match = S3ImageRe.match(url.url) extension = match[3].downcase == 'pdf' ? 'png' : match[3] thumb_storage = Murlsh::ImgStore.new(StorageDir, :user_agent => config['user_agent']) stored_filename = thumb_storage.store_url( "#{match[1]}#{match[2]}.th.#{extension}") do |i| max_side = config.fetch('thumbnail_max_side', 90) i.extend(Murlsh::ImageList).resize_down!(max_side) end url.thumbnail_url = "img/thumb/#{CGI.escape(stored_filename)}" url.title = match[2] unless url.user_supplied_title? end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
murlsh-1.4.1 | plugins/add_pre_60_s3_image.rb |
murlsh-1.4.0 | plugins/add_pre_60_s3_image.rb |
murlsh-1.3.1 | plugins/add_pre_60_s3_image.rb |
murlsh-1.3.0 | plugins/add_pre_60_s3_image.rb |