Sha256: b257418e4c42d866dcd900017f49c5699e3c056a91e0f213ecd4c6e7a8689009
Contents?: true
Size: 1.76 KB
Versions: 4
Compression:
Stored size: 1.76 KB
Contents
require 'pathname' module AutoprefixerRails # Register autoprefixer postprocessor in Sprockets and fix common issues class Sprockets def self.register_processor(processor) @processor = processor end # Sprockets 3 and 4 API def self.call(input) filename = input[:source_path] || input[:filename] source = input[:data] run(filename, source) end # Sprockets 2 compatibility def self.process(context, css) self.run(context.pathname.to_s, css) end # Add prefixes to `css` def self.run(filename, css) output = filename.chomp(File.extname(filename)) + '.css' result = @processor.process(css, from: filename, to: output) result.warnings.each do |warning| $stderr.puts "autoprefixer: #{ warning }" end result.css end # Register postprocessor in Sprockets depend on issues with other gems def self.install(env) if ::Sprockets::VERSION.to_i < 4 env.register_postprocessor('text/css', :autoprefixer) do |context, css| process(context, css) end else env.register_bundle_processor('text/css', ::AutoprefixerRails::Sprockets) end end # Register postprocessor in Sprockets depend on issues with other gems def self.uninstall(env) if ::Sprockets::VERSION.to_i < 4 env.unregister_postprocessor('text/css', :autoprefixer) else env.unregister_bundle_processor('text/css', ::AutoprefixerRails::Sprockets) end end # Sprockets 2 API new and render def initialize(filename, &block) @filename = filename @source = block.call end # Sprockets 2 API new and render def render(_, _) self.class.run(@filename, @source) end end end
Version data entries
4 entries across 4 versions & 1 rubygems