Module: ImageOptimizer::Jpeg

Defined in:
lib/image-optimizer/jpeg.rb

Overview

JPEG optimizing module.

Since:

  • 0.2

Class Method Summary collapse

Class Method Details

.optimize(path, &block) ⇒ Object

Since:

  • 0.2



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/image-optimizer/jpeg.rb', line 15

def self.optimize(path, &block)
    path_escaped = Shellwords::escape(path)
    
    # calls back
    block.call(path.dup, ImageOptimizer::BEFORE)
    
    if ImageOptimizer.available? :jpegoptim
        block.call(:jpegoptim, ImageOptimizer::METHOD)
        `jpegoptim --strip-all #{path_escaped} 2> /dev/null`
    end
    
    if ImageOptimizer.available? :jpegtran
        block.call(:jpegtran, ImageOptimizer::METHOD)
        `jpegtran -arithmetic -optimize -progressive -copy none #{path_escaped} 2> /dev/null`
    end
    
    # calls back
    block.call(path.dup, ImageOptimizer::AFTER)
    
end