Method: Sprockets::EncodingUtils#detect_css

Defined in:
lib/sprockets/encoding_utils.rb

#detect_css(str) ⇒ Object

Public: Detect and strip @charset from CSS style sheet.

str - String.

Returns a encoded String.



177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# File 'lib/sprockets/encoding_utils.rb', line 177

def detect_css(str)
  str = detect_unicode_bom(str)

  if name = scan_css_charset(str)
    encoding = Encoding.find(name)
    str = str.dup
    str.force_encoding(encoding)
    len = "@charset \"#{name}\";".encode(encoding).size
    str.slice!(0, len)
    str
  end

  # Fallback to UTF-8
  if str.encoding == Encoding::BINARY
    str.force_encoding(Encoding::UTF_8)
  end

  str
end