Class: Sprockets::ImageCompressor::PngCompressor
- Defined in:
- lib/sprockets/image_compressor/png_compressor.rb
Instance Method Summary collapse
- #compress(content) ⇒ Object
-
#initialize ⇒ PngCompressor
constructor
A new instance of PngCompressor.
Methods inherited from Base
Constructor Details
#initialize ⇒ PngCompressor
Returns a new instance of PngCompressor.
6 7 8 |
# File 'lib/sprockets/image_compressor/png_compressor.rb', line 6 def initialize @name = "pngcrush" end |
Instance Method Details
#compress(content) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/sprockets/image_compressor/png_compressor.rb', line 10 def compress(content) compressed_png_data = "" Tempfile.open ["in_file", ".png"] do |in_file| in_file.binmode out_file_path = in_file.path + ".optimized.png" in_file.write content in_file.close out = `#{binary_path} #{in_file.path} #{out_file_path} 2>&1` in_file.delete File.open out_file_path, "rb" do |out_file| compressed_png_data = out_file.read end File.unlink out_file_path end compressed_png_data end |