Sha256: 3370446092278bb8bfed901fea69c9efaba39352d0e6302da5aa42ed575dcfc1

Contents?: true

Size: 708 Bytes

Versions: 2

Compression:

Stored size: 708 Bytes

Contents

require 'sprockets/exporters/base'
require 'webp-ffi'

module Sprockets
  module Exporters
    # Generates a `.webp` file using the webp-ffi
    class WebpExporter < Exporters::Base
      def setup
        @webp_target = "#{target}.webp"
      end

      def skip?(logger)
        if ::File.exist?(@webp_target)
          logger.debug "Skipping #{@webp_target}, already exists"
          true
        else
          logger.info "Writing #{@webp_target}"
          false
        end
      end

      def call
        ::WebP.encode(target, @webp_target, Sprockets::WebP.encode_options)
      rescue WebP::EncoderError
        logger.warn "Skipping #{@webp_target}, converter error"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sprockets-webp-exporter-0.1.0.rc3 lib/sprockets/exporters/webp_exporter.rb
sprockets-webp-exporter-0.1.0.rc2 lib/sprockets/exporters/webp_exporter.rb