Class: MiddlemanSimpleThumbnailer::Rack
- Inherits:
-
Object
- Object
- MiddlemanSimpleThumbnailer::Rack
- Defined in:
- lib/middleman-simple-thumbnailer/rack.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, options = {}, middleman_app, config) ⇒ Rack
constructor
A new instance of Rack.
Constructor Details
#initialize(app, options = {}, middleman_app, config) ⇒ Rack
Returns a new instance of Rack.
6 7 8 9 10 11 |
# File 'lib/middleman-simple-thumbnailer/rack.rb', line 6 def initialize(app, = {}, middleman_app, config) @app = app @options = @config = config @middleman_app = middleman_app end |
Instance Method Details
#call(env) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# 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 |