class Sprockets::Exporters::BrotliExporter

Attributes

quality[W]

Public Class Methods

quality() click to toggle source
# File lib/sprockets/exporters/brotli_exporter.rb, line 24
def quality
  @quality || 9
end

Public Instance Methods

call() click to toggle source
# File lib/sprockets/exporters/brotli_exporter.rb, line 6
def call
  write '.br' do |target|
    data = File.binread source
    mode = if asset.content_type.match /font|otf/
      :font
    elsif asset.content_type.match /text|(application\/(javascript|json|xml))/
      :text
    else
      :generic
    end
    brotli = Brotli.deflate(data, mode: mode, quality: self.class.quality)
    File.open(target, 'wb') { |file| file.write(brotli) }
  end
end