Sha256: 90d281f2a97f6d260165734908b82594e5281e054c7648035e59dbef2bdfd320

Contents?: true

Size: 979 Bytes

Versions: 6

Compression:

Stored size: 979 Bytes

Contents

class SCSSBeautifier::Formatters::NameFormat < Sass::Tree::Visitors::Base
  def visit_function(node)
    check_name(node)
  end

  def visit_mixin(node)
    check_name(node)
  end

  def visit_placeholder(node)
    check_name(node)
  end

  def visit_mixindef(node)
    check_name(node)
  end

  def visit_script_funcall(node)
    check_name(node)
  end

  def visit_script_variable(node)
    check_name(node)
  end

  def visit_variable(node)
    check_name(node)
  end

  def visit_rule(node)
    check_rule(node)
  end

  private

  def check_name(node)
    # return unless node.name
    node.instance_variable_set(:@name, Sass::Script::Value::String.new(node.name.to_s.gsub(/[[:upper:]]/) { "-#{$&}" }.downcase.gsub(/(?<!_)_(?!_)/, '-')))
  end

  def check_rule(node)
    node.rule = Sass::Util.strip_string_array(node.rule.map { |r| r.to_s.gsub(/[[:upper:]]/) { "-#{$&}" }.downcase.gsub(/(?<!_)_(?!_)/, '-') })
    node.send(:try_to_parse_non_interpolated_rules)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
scss_beautifier-0.1.11 lib/scss_beautifier/formatters/name_format.rb
scss_beautifier-0.1.10 lib/scss_beautifier/formatters/name_format.rb
scss_beautifier-0.1.8 lib/scss_beautifier/formatters/name_format.rb
scss_beautifier-0.1.7 lib/scss_beautifier/formatters/name_format.rb
scss_beautifier-0.1.6 lib/scss_beautifier/formatters/name_format.rb
scss_beautifier-0.1.5 lib/scss_beautifier/formatters/name_format.rb