class SCSSBeautifier::Formatters::Color

Constants

HEX_REGEX

Public Instance Methods

format_color(item) click to toggle source
# File lib/scss_beautifier/formatters/color.rb, line 12
def format_color(item)
  if Sass::Script::Tree::Literal === item && Sass::Script::Value::String === item.value
    if color = Sass::Script::Value::Color::COLOR_NAMES[item.value.value]
      color_value = Sass::Script::Value::Color.new(color)
      color_value.options = {}
      item.instance_variable_set(:@value, Sass::Script::Value::String.new(color_value.inspect))
    elsif item.value.value =~ HEX_REGEX

      new_val = item.value.value.split(" ").map do |val|
        val.match(HEX_REGEX) ? [val[0..1], val[1], val[2], val[2], val[3], val[3]].join : val
      end.join(" ")

      item.instance_variable_set(:@value, Sass::Script::Value::String.new(new_val))
    end
  end
end
visit_prop(node) click to toggle source
# File lib/scss_beautifier/formatters/color.rb, line 4
def visit_prop(node)
  if node.value.respond_to?(:each)
    node.value.each{ |item| format_color(item) }
  else
    format_color(node.value)
  end
end