class Condenser::ZlibWriter
Generates a `.gz` file using the zlib algorithm built into Ruby's standard library.
Constants
- ADDED_MIME_TYPES
- COMPRESSALBE_TYPES
What mime types should we compress? This list comes from: www.fastly.com/blog/new-gzip-settings-and-deciding-what-compress
Attributes
added_mime_types[R]
mime_types[R]
Public Class Methods
new(mime_types: nil, added_mime_types: nil)
click to toggle source
# File lib/condenser/writers/zlib_writer.rb, line 20 def initialize(mime_types: nil, added_mime_types: nil) @mime_types = mime_types || COMPRESSALBE_TYPES @added_mime_types = added_mime_types || ADDED_MIME_TYPES end
Public Instance Methods
call(output_directory, asset)
click to toggle source
# File lib/condenser/writers/zlib_writer.rb, line 33 def call(output_directory, asset) filename = File.join(output_directory, "#{asset.path}.gz") FileUtils.mkdir_p(File.dirname(filename)) Condenser::Utils.atomic_write(filename) do |file| gz = Zlib::GzipWriter.new(file, Zlib::BEST_COMPRESSION) gz.write(asset.source) gz.close # File.utime(mtime, mtime, file.path) end ["#{asset.filename}.gz"] end
exist?(asset)
click to toggle source
# File lib/condenser/writers/zlib_writer.rb, line 29 def exist?(asset) ::File.exist?(path(asset)) end
path(asset)
click to toggle source
# File lib/condenser/writers/zlib_writer.rb, line 25 def path(asset) "#{asset.path}.gz" end