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.20131209'.freeze
Class Method Summary collapse
-
.compile(css, browsers = nil) ⇒ Object
Parse
cssand add vendor prefixes forbrowsers. -
.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 |