Method: Cyborg::Assets::AssetType#compress
- Defined in:
- lib/cyborg/plugin/assets/asset.rb
#compress(file) ⇒ Object
145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 |
# File 'lib/cyborg/plugin/assets/asset.rb', line 145 def compress(file) return unless Cyborg.production? mtime = File.mtime(file) gz_file = "#{file}.gz" return if File.exist?(gz_file) && File.mtime(gz_file) >= mtime File.open(gz_file, "wb") do |dest| gz = Zlib::GzipWriter.new(dest, Zlib::BEST_COMPRESSION) gz.mtime = mtime.to_i IO.copy_stream(open(file), gz) gz.close end File.utime(mtime, mtime, gz_file) end |