Class: Csso::Compressor
- Inherits:
-
Object
- Object
- Csso::Compressor
- Defined in:
- lib/csso/compressor.rb
Defined Under Namespace
Classes: Legacy
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(path, &block) ⇒ Compressor
constructor
sprockets 2:.
- #render(context, opts = {}) ⇒ Object
Constructor Details
#initialize(path, &block) ⇒ Compressor
sprockets 2:
24 25 26 |
# File 'lib/csso/compressor.rb', line 24 def initialize path, &block @block = block end |
Class Method Details
.call(input) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/csso/compressor.rb', line 3 def self.call(input) require 'csso' #TODO: settings? if input[:metadata] && input[:metadata][:map] css, map = Csso.optimize_with_sourcemap(input[:data], # Sprockets::PathUtils.split_subpath(input[:load_path], input[:filename]) # sprockets seems to ignore filenames here, so we may save some mem: 'uri' ) map = Sprockets::SourceMapUtils.combine_source_maps( input[:metadata][:map], Sprockets::SourceMapUtils.decode_json_source_map(map)["mappings"] ) { data: css, map: map } else { data: Csso.optimize(input[:data], true) } end end |
Instance Method Details
#render(context, opts = {}) ⇒ Object
28 29 30 |
# File 'lib/csso/compressor.rb', line 28 def render context, opts={} self.class.call({data: @block.call})[:data] end |