Sha256: 4b96ac9b651c88b558037b54bbfc5be108d7043afa62e5df96d92d069dc3775f
Contents?: true
Size: 1.25 KB
Versions: 2
Compression:
Stored size: 1.25 KB
Contents
# encoding: utf-8 module LightResizer class Middleware class Path PREFIX_REGEXP = /^[0-9]+x[0-9]+(_crop)?_/ attr_reader :request_path def request_path=(path) @request_path = path @segments = nil end # {Bool} returns true if request path begins with 'image' def image_path? request_dir.end_with?('light_resize') end # {Bool} returns true if image should be croped on resize def crop_path? prefix.end_with?('crop') end # {String} last part of request – relative path def image_path dir = File.expand_path('..', request_dir) File.join(dir, original_filename) end # {String} returns prefix of resized image name # 200x200_crop_image.png => 200x200_crop def prefix filename[PREFIX_REGEXP].chop if image_path? end def dimensions prefix.split('_').first end private def request_dir File.dirname(request_path) end def original_filename filename.gsub(PREFIX_REGEXP, '') end def filename File.basename(request_path) end def name_segments @segments ||= request_path.split('/') end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
light_resizer-0.1.2 | lib/light_resizer/middleware/path.rb |
light_resizer-0.1.1 | lib/light_resizer/middleware/path.rb |