lib/beautiful-css/engine.rb in beautiful-css-0.0.8 vs lib/beautiful-css/engine.rb in beautiful-css-0.0.9

- old
+ new

@@ -16,24 +16,30 @@ render end def render return nil if @input.nil? + save_imports rules = build_rules cleaned = remove_unset rules groups = build_groups(cleaned) return format( groups ) end private + def save_imports + @imports = @input.scan(/@import[^;]+;/i) + end + def build_rules text = scss_to_css @input + text = text.gsub(/@import[^;]+;/i, '') #remove imports text = text.gsub( /[\n\r\t]/m, " " ) text = text.gsub( / +/m, " " ) - text = text.gsub( /\/\*[^*]*\*\//m, " " ) + text = text.gsub( /\/\*[^*]*\*\//m, " " ) #remove comments rules = text.split('}') rules = rules.map{|r| RuleParser.new(r).to_rules }.flatten end def remove_unset rules @@ -57,16 +63,17 @@ end groups end def format groups - output = '' + output = @imports.join('\n') + "\n" + groups.keys.sort.each do |key| output += "\n" output += groups[key].uniq.join(",\n") + "\n" output += key + "\n" end - output.gsub( /: +/, ':' ) + output.gsub( /: +/, ':' ).strip end end end