Module: AutoprefixerRails
- Defined in:
- lib/autoprefixer-rails.rb,
lib/autoprefixer-rails/version.rb,
lib/autoprefixer-rails/compiler.rb
Overview
Ruby integration with Autoprefixer JS library, which parse CSS and adds only actual prefixed
Defined Under Namespace
Classes: Compiler
Constant Summary collapse
- VERSION =
'0.8.20131015'.freeze
Class Method Summary collapse
-
.compile(css, browsers = nil) ⇒ Object
Parse ‘css` and add vendor prefixes for `browsers`.
-
.compiler(browsers) ⇒ Object
Cache compiler instances.
-
.install(assets, browsers = nil) ⇒ Object
Add Autoprefixer for Sprockets environment in ‘assets`.
Class Method Details
.compile(css, browsers = nil) ⇒ Object
Parse ‘css` and add vendor prefixes for `browsers`
25 26 27 |
# File 'lib/autoprefixer-rails.rb', line 25 def self.compile(css, browsers = nil) compiler(browsers).compile(css) end |
.compiler(browsers) ⇒ Object
Cache compiler instances
51 52 53 54 |
# File 'lib/autoprefixer-rails.rb', line 51 def self.compiler(browsers) @cache ||= { } @cache[browsers] ||= Compiler.new(browsers) end |
.install(assets, browsers = nil) ⇒ Object
Add Autoprefixer for Sprockets environment in ‘assets`. You can specify `browsers` actual in your project.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/autoprefixer-rails.rb', line 31 def self.install(assets, browsers = nil) instance = compiler(browsers) assets.register_postprocessor 'text/css', :autoprefixer do |context, css| if defined?(Sass::Rails) or defined?(Sprockets::Sass) begin instance.compile(css) rescue ExecJS::ProgramError => e if e. =~ /Can't parse CSS/ css else raise e end end else instance.compile(css) end end end |