Sha256: 84faa9a43b82df08788ac1f0ba3047e26efe33c667c4a84f9dd8c7d36601cffa

Contents?: true

Size: 666 Bytes

Versions: 1

Compression:

Stored size: 666 Bytes

Contents

require_relative 'deflater_base'

module Paperclip
  module Processors
    class Gzip < DeflaterBase
      def initialize(file, options = {}, attachment = nil)
        super
        @gzip_options = @options[:gzip_options] || {}
      end

      def make
        level       = @gzip_options[:level]
        strategy    = @gzip_options[:strategy]

        dst = create_tempfile
        begin
          gz = Zlib::GzipWriter.new(dst, level, strategy)
          gz.write @file.read
        rescue ::Exception => e
          gz.close rescue nil
          raise e
        end
        gz.close
        @file.rewind
        dst.open

        dst
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paperclip-deflater-0.1.2 lib/paperclip/processors/gzip.rb