class MiddlemanSimpleThumbnailer::Rack
Public Class Methods
new(app, options= {}, middleman_app, config)
click to toggle source
# File lib/middleman-simple-thumbnailer/rack.rb, line 6 def initialize(app, options= {}, middleman_app, config) @app = app @options = options @config = config @middleman_app = middleman_app end
Public Instance Methods
call(env)
click to toggle source
# File lib/middleman-simple-thumbnailer/rack.rb, line 13 def call(env) path_info = env["PATH_INFO"] query_str = env["QUERY_STRING"] environment = @middleman_app.config[:environment] status = -1 if(environment === :development && !query_str.empty?) query_hash = CGI::parse(query_str) if(query_hash.key?('simple-thumbnailer')) path, resize_to = query_hash['simple-thumbnailer'][0].split('|') image = MiddlemanSimpleThumbnailer::Image.new(path, resize_to, @middleman_app, @config) status = 200 file_data = image.render headers = { "Content-Length" => file_data.bytesize.to_s, "Content-Type" => image.mime_type } response = [file_data] end end if status === -1 status, headers, response = @app.call(env) end [status, headers, response] end