class AssetBomRemoval::Rails::Railtie

Public Instance Methods

app_uses_sass_for_css_compression?(app) click to toggle source
# File lib/asset_bom_removal/rails/railtie.rb, line 10
def app_uses_sass_for_css_compression?(app)
  # if css_compressor is not already set, it will be set to sass by
  # sass-rails
  css_compressor = (app.config.assets.fetch(:css_compressor, nil) || :sass)
  [:sass, :scss].include? css_compressor.to_sym
end
sass_might_output_bom?(app) click to toggle source
# File lib/asset_bom_removal/rails/railtie.rb, line 6
def sass_might_output_bom?(app)
  ::Rails.env.production? || app.config.sass.style == :compressed
end
setup_css_compression_with_bom_removal(app) click to toggle source
# File lib/asset_bom_removal/rails/railtie.rb, line 17
def setup_css_compression_with_bom_removal(app)
  if sass_might_output_bom?(app)
    # We only need to do this if sass will be using :compressed style
    # because other styles don't output a BOM
    if app_uses_sass_for_css_compression?(app)
      app.config.assets.css_compressor = AssetBomRemoval::SassNoBomCompressor
    end
  end
end