HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/gems/ruby-3.0.2/gems/sprockets-4.0.2/lib/sprockets/exporters/zlib_exporter.rb
require 'sprockets/exporters/base'
require 'sprockets/utils/gzip'

module Sprockets
  module Exporters
    # Generates a `.gz` file using the zlib algorithm built into
    # Ruby's standard library.
    class ZlibExporter < Exporters::Base
      def setup
        @gzip_target = "#{ target }.gz"
        @gzip = Sprockets::Utils::Gzip.new(asset, archiver: Utils::Gzip::ZlibArchiver)
      end

      def skip?(logger)
        return true if environment.skip_gzip?
        return true if @gzip.cannot_compress?
        if ::File.exist?(@gzip_target)
          logger.debug "Skipping #{ @gzip_target }, already exists"
          true
        else
          logger.info "Writing #{ @gzip_target }"
          false
        end
      end

      def call
        write(@gzip_target) do |file|
          @gzip.compress(file, target)
        end
      end
    end
  end
end