class Sprockets::ExportersPack::BrotliExporter
Attributes
font_regex[W]
quality[W]
text_regex[W]
Public Class Methods
font_regex()
click to toggle source
# File lib/sprockets/exporters_pack/brotli_exporter.rb, line 47 def font_regex @font_regex || /font|otf/ end
quality()
click to toggle source
# File lib/sprockets/exporters_pack/brotli_exporter.rb, line 43 def quality @quality || 9 end
text_regex()
click to toggle source
# File lib/sprockets/exporters_pack/brotli_exporter.rb, line 51 def text_regex @text_regex || /text|(application\/(javascript|json|xml))/ end
Public Instance Methods
call()
click to toggle source
# File lib/sprockets/exporters_pack/brotli_exporter.rb, line 21 def call data = File.binread(target) mode = if asset.content_type.match self.class.font_regex :font elsif asset.content_type.match self.class.text_regex :text else :generic end brotli = Brotli.deflate(data, mode: mode, quality: self.class.quality) write(@brotli_target) do |file| file.write(brotli) file.close end end
setup()
click to toggle source
# File lib/sprockets/exporters_pack/brotli_exporter.rb, line 7 def setup @brotli_target = "#{ target }.br" end
skip?(logger)
click to toggle source
# File lib/sprockets/exporters_pack/brotli_exporter.rb, line 11 def skip?(logger) if ::File.exist?(@brotli_target) logger.debug "Skipping #{ @brotli_target }, already exists" true else logger.info "Writing #{ @brotli_target }" false end end