Module: CssCompare::CSS::ValueFactory

Defined in:
lib/css_compare/css/value_factory.rb

Class Method Summary collapse

Class Method Details

.create(value) ⇒ CssCompare::CSS::Value::Base

Creates the value object by applying the appropriate wrapper class.

Parameters:

  • value (Sass::Script::Tree::Node)

    the CSS property’s value

Returns:



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/css_compare/css/value_factory.rb', line 15

def self.create(value)
  if value.is_a?(Sass::Script::Tree::Literal)
    Value::Literal.new(value)
  elsif value.is_a?(Sass::Script::Tree::ListLiteral)
    Value::ListLiteral.new(value)
  elsif value.is_a?(Sass::Script::Tree::Funcall)
    return Value::Function.new(value) unless value.name == 'url'
    Value::Url.new(value)
  else
    raise StandardError, 'Unsupported type of CSS value'
  end
end