Class: LightResizer::Middleware

Inherits:
Object
  • Object
show all
Defined in:
lib/light_resizer/middleware.rb,
lib/light_resizer/middleware/path.rb,
lib/light_resizer/middleware/resizer.rb

Defined Under Namespace

Classes: Path, Resizer

Instance Method Summary collapse

Constructor Details

#initialize(app, root, folder = 'public') ⇒ Middleware

Returns a new instance of Middleware.



9
10
11
12
13
14
# File 'lib/light_resizer/middleware.rb', line 9

def initialize(app, root, folder='public')
  @app           = app
  @image_loader  = LightResizer::ImageLoader.new File.join(root, folder)
  @path          = LightResizer::Middleware::Path.new
  @resizer       = LightResizer::Middleware::Resizer.new
end

Instance Method Details

#call(env) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/light_resizer/middleware.rb', line 16

def call(env)
  @path.request_path = env['PATH_INFO']

  if (@path.image_path? and resize_request?)
resize
   Rack::File.new(@image_loader.resized.root_dir).call(env) #todo check
  else
@app.call(env)
  end

end

#resize_request?Boolean

Returns:

  • (Boolean)


28
29
30
31
32
33
# File 'lib/light_resizer/middleware.rb', line 28

def resize_request?
    @image_loader.original_image_path = @path.image_path
    @image_loader.resize_prefix = @path.prefix

    @image_loader.original_image_exist?
end