Sha256: 11fa33b4d703ff72721173ec362b3b369ce9be2c74f5d5539a22492719df09d7
Contents?: true
Size: 652 Bytes
Versions: 4
Compression:
Stored size: 652 Bytes
Contents
# frozen_string_literal: true module ViewComponentScopedCss # # compiling scss files to provide final css # class Compiler def initialize(path:, identifier:) @identifier = identifier @css = Sass.compile(path).css rescue Sass::CompileError => e raise "scss[#{path}] #{e.message}" end def call @css.lines.map do |line| case line when /:module\((.*?)\)/ css_class_name = [".viewcomponent", @identifier, ::Regexp.last_match(1)].compact.join('\:\:') line.gsub(Regexp.last_match[0], css_class_name) else line end end.join end end end
Version data entries
4 entries across 4 versions & 1 rubygems