Sha256: 9d254b375c09028920aac0b983715f7c9d6c7c4bce4e99e7b88144a3cf9fa3b3
Contents?: true
Size: 1011 Bytes
Versions: 1
Compression:
Stored size: 1011 Bytes
Contents
class SCSSBeautifier::Formatters::PropertySortOrder < SCSSBeautifier::Formatters::Base def visit_rule(node) order_children(node) visit_children(node) end def order_children(node) prop_nodes = [] comment_array = [] seen_comments = [] node.children.each do |child| hash_key = child.class.node_name.to_s if hash_key == 'comment' seen_comments << child comment_array << child elsif hash_key == 'prop' prop_nodes << comment_array.push(child) comment_array = [] end end prop_nodes.sort! { |x,y| x.last.name[0] <=> y.last.name[0] } # Replace children being respective of other types of props/funcs/etc children = [] node.children.each do |child| hash_key = child.class.node_name.to_s if hash_key == 'prop' children.concat(prop_nodes.shift) elsif hash_key != 'comment' || !seen_comments.include?(child) children << child end end node.children = children end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
scss_beautifier-0.1.15 | lib/scss_beautifier/formatters/property_sort_order.rb |