Method: Sass::Script::Functions#unquote

Defined in:
lib/sass/script/functions.rb

#unquote($string) ⇒ Sass::Script::Value::String

Removes quotes from a string. If the string is already unquoted, this will return it unmodified.

Examples:

unquote("foo") => foo
unquote(foo) => foo

Parameters:

Returns:

Raises:

  • (ArgumentError)

    if $string isn't a string

See Also:



1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
# File 'lib/sass/script/functions.rb', line 1490

def unquote(string)
  unless string.is_a?(Sass::Script::Value::String)
    # Don't warn multiple times for the same source line.
    $_sass_warned_for_unquote ||= Set.new
    frame = environment.stack.frames.last
    key = [frame.filename, frame.line] if frame
    return string if frame && $_sass_warned_for_unquote.include?(key)
    $_sass_warned_for_unquote << key if frame

    Sass::Util.sass_warn(<<MESSAGE.strip)
DEPRECATION WARNING: Passing #{string.to_sass}, a non-string value, to unquote()
will be an error in future versions of Sass.
#{environment.stack.to_s.gsub(/^/, ' ' * 8)}
MESSAGE
    return string
  end

  string.check_deprecated_interp
  return string if string.type == :identifier
  identifier(string.value)
end