Module: CSSminify2Enhanced
- Defined in:
- lib/cssminify2/enhanced.rb
Overview
Enhanced CSS Compression Features (Optional)
This file provides optional enhanced features for CSS compression while maintaining 100% backward compatibility with the original API.
Usage:
# Original API (unchanged)
CSSminify2.compress(css)
# Enhanced API (new, optional)
CSSminify2Enhanced.compress(css, )
CSSminify2Enhanced.new(config).compress(css)
Defined Under Namespace
Classes: Compressor, Configuration, EnhancedCompressionError, MalformedCSSError
Class Method Summary collapse
-
.compress(css, options = {}) ⇒ Object
Convenience class methods for enhanced compression.
- .compress_with_stats(css, options = {}) ⇒ Object
Class Method Details
.compress(css, options = {}) ⇒ Object
Convenience class methods for enhanced compression
773 774 775 776 777 778 779 780 781 782 783 |
# File 'lib/cssminify2/enhanced.rb', line 773 def self.compress(css, = {}) if .is_a?(Hash) && !.empty? config = Configuration.new .each { |key, value| config.send("#{key}=", value) if config.respond_to?("#{key}=") } Compressor.new(config).compress(css, [:linebreakpos] || 5000) else # Fallback to original API for backward compatibility linebreakpos = .is_a?(Integer) ? : 5000 CssCompressor.compress(css, linebreakpos) end end |
.compress_with_stats(css, options = {}) ⇒ Object
785 786 787 788 789 790 791 792 793 794 795 796 797 |
# File 'lib/cssminify2/enhanced.rb', line 785 def self.compress_with_stats(css, = {}) config = Configuration.new .each { |key, value| config.send("#{key}=", value) if config.respond_to?("#{key}=") } config.statistics_enabled = true compressor = Compressor.new(config) result = compressor.compress(css, [:linebreakpos] || 5000) { compressed_css: result, statistics: compressor.statistics } end |